У меня проблема. Мне нужно создать службу, которая отправляет mp3-файл, который синтезирует голос из строки, выбранной с помощью действия, или файла mp4. Я могу создать mp3-файл и файл mp4. Я также знаю, как установить один из них в меню общего доступа.Как отправлять разные файлы в зависимости от того, какое приложение мы выбрали в меню общего доступа?
Моя проблема в том, что я хочу видеть все приложения, которые могут обрабатывать файлы MP3 и mp4, а затем отправлять нужный файл в выбранное приложение.
вот мой код:
public void setShareContent(MenuItem item, ShareActionProvider mShareActionProvider) {
this.setActionMenu(item,mShareActionProvider);
Intent mIntent = new Intent();
mIntent.setAction(Intent.ACTION_SEND);
Uri uri = Uri.parse("file:///"+Environment.getExternalStorageDirectory()+"/sounds/hello.mp3");
mIntent.putExtra(Intent.EXTRA_STREAM,uri);
mIntent.setType("audio/mp3");
mShareActionProvider.setShareIntent(mIntent);
}
private void setActionMenu(MenuItem item, ShareActionProvider mShareActionProvider) {
mShareActionProvider = (ShareActionProvider) item.getActionProvider();
}
И мой слушатель от моей деятельности:
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
message = text.getText().toString();
myHashReader = new HashMap<String, String>();
myHashReader.put(TextToSpeech.Engine.KEY_PARAM_UTTERANCE_ID, message);
String exStroragePath = Environment.getExternalStorageDirectory().getAbsolutePath();
File tmpPath = new File(exStroragePath + "/sounds/");
tmpPath.mkdirs();
String tmpFileName = "hello.mp3";
tmpDestFile = tmpPath.getAbsolutePath() + "/" + tmpFileName;
new MySpeech(MyActivity.this, message, tmpDestFile);
myService.setShareContent(item, mShareActionProvider);
}
});
Я заблокирован дней ...
Это, кажется, именно то, что я ищу, но я не понимаю строка: Intent musicIntent = новый Intent (android.provider ....); Что бы я добавил в этот конструктор? Спасибо – Quentin
Я не уверен, что провайдер для музыкального провайдера ... :) попробуйте ctrl + space, чтобы увидеть, есть ли какие-либо предложения для изображений, это android.provider.MediaStore.ACTION_IMAGE_CAPTURE – SpyZip