此代码适用于许多设备。
但我有一些设备用户的报告:
Xperia L(C2104)1 3,4%Droid Ultra(对照)1 3,4%Droid MAXX (obake-maxx)2 6,9%Moto E(condor_cdma)1 3,4%Moto G(falcon_umts) 2 6,9%MOTO E(condor_umts)2 6,9%华为H881C(hwh881c)1 3,4% Galaxy Tab3 7.0(lt02ltespr)1 3,4%Nexus 4(mako)1 3,4%Hydro EDGE (C5215)2 6,9%Galaxy Young2(young2nfc3g)1 3,4%Galaxy Core Prime (cprimeltemtr)1 3,4%Xperia Z2(D6503)1 3,4%Z667(demi)1 3,4% LG Power(y50c)3 10,3%Xperia tipo(ST21a)3 10,3%Galaxy Grand Prime(grandprimelteaio)1 3,4%Moto G(falcon_cdma)4 13,8%
在这段代码中播放设备音频播放器中的音频:
final File file = new File(mFileName);
intent.setDataAndType(Uri.fromFile(file), "audio/mpeg");
startActivity(intent);
错误:
android.content.ActivityNotFoundException:找不到要处理的Activity 意图{act = android.intent.action.VIEW dat = file:///storage/emulated/0/MyAudioFiles/file.mp3 typ = audio / mpeg}
这意味着此设备没有安装默认音频播放器?
答案 0 :(得分:0)
尝试此操作以启动活动,可能是您提供的mimetype未正确处理。
try
{
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
File file = new File(mFileName);
String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString());
String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
intent.setDataAndType(Uri.fromFile(file),mimetype);
startActivity(intent);
}
catch (Exception e)
{
// TODO: handle exception
}
也许您还需要拥有WRITE
和READ
外部权限(如果用户在SD卡上安装您的应用),但我不确定这一点,不应该需要我想。
似乎是这个的重复:Trying to play mp3 ActivityNotFoundException on certain devices