ACTION_VIEW インテントでオーディオを再生しようとしていますが、サウンド ファイルの種類 (.mp3、.3gpp など) に関係なく、常に同じエラーが発生します。
E/AndroidRuntime(3007): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=/mnt/sdcard/recording-23363382.3gpp typ=audio/3gpp }
私のコード:
まず、アクティビティを開始する場所は次のとおりです。
case R.id.largeThumbnailText:
media_column_index = mediacursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA);
mediacursor.moveToPosition(lastClicked);
mediaFileUri = Uri.parse(mediacursor.getString(media_column_index));
media_column_index = mediacursor
.getColumnIndexOrThrow(MediaStore.Audio.Media.MIME_TYPE);
String mime = mediacursor.getString(media_column_index);
Intent playAudioIntent = new Intent();
playAudioIntent.setAction(Intent.ACTION_VIEW);
playAudioIntent.setDataAndType(mediaFileUri, mime);
startActivity(playAudioIntent);
break;
ここで mediacursor を開始します。
String[] proj = { MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.DATA,
MediaStore.Audio.Media.DISPLAY_NAME,
MediaStore.Audio.Media.MIME_TYPE };
mediacursor = getActivity().managedQuery(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, proj, null,
null, null);
ビデオでも同じことをしているので、どこに問題があるのか わかりません。これはすべてフラグメント内から行われることに言及する価値があるかもしれません。
HTC Sensation(android 2.3.4)でテストしていることを忘れていました
提案に感謝します