在Galaxy S5或比这新的机型上,我用下面的语句调用系统音乐播放器出错,但用其它牌子的手机测试暂时没有发现这种问题,
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_APP_MUSIC);
startActivity(intent);
报错信息:
01-09 11:44:23.514: E/AndroidRuntime(19249): FATAL EXCEPTION: main
01-09 11:44:23.514: E/AndroidRuntime(19249): Process: com.example.isp38_musicplayer, PID: 19249
01-09 11:44:23.514: E/AndroidRuntime(19249): java.lang.IllegalStateException: Could not execute method of the activity
01-09 11:44:23.514: E/AndroidRuntime(19249): at android.view.View$1.onClick(View.java:3969)
01-09 11:44:23.514: E/AndroidRuntime(19249): at android.view.View.performClick(View.java:4637)
01-09 11:44:23.514: E/AndroidRuntime(19249): at android.view.View$PerformClick.run(View.java:19422)
01-09 11:44:23.514: E/AndroidRuntime(19249): at android.os.Handler.handleCallback(Handler.java:733)
01-09 11:44:23.514: E/AndroidRuntime(19249): at android.os.Handler.dispatchMessage(Handler.java:95)
01-09 11:44:23.514: E/AndroidRuntime(19249): at android.os.Looper.loop(Looper.java:136)
01-09 11:44:23.514: E/AndroidRuntime(19249): at android.app.ActivityThread.main(ActivityThread.java:5586)
01-09 11:44:23.514: E/AndroidRuntime(19249): at java.lang.reflect.Method.invokeNative(Native Method)
01-09 11:44:23.514: E/AndroidRuntime(19249): at java.lang.reflect.Method.invoke(Method.java:515)
01-09 11:44:23.514: E/AndroidRuntime(19249): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
01-09 11:44:23.514: E/AndroidRuntime(19249): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
01-09 11:44:23.514: E/AndroidRuntime(19249): at dalvik.system.NativeStart.main(Native Method)
01-09 11:44:23.514: E/AndroidRuntime(19249): Caused by: java.lang.reflect.InvocationTargetException
01-09 11:44:23.514: E/AndroidRuntime(19249): at java.lang.reflect.Method.invokeNative(Native Method)
01-09 11:44:23.514: E/AndroidRuntime(19249): at java.lang.reflect.Method.invoke(Method.java:515)
01-09 11:44:23.514: E/AndroidRuntime(19249): at android.view.View$1.onClick(View.java:3964)
01-09 11:44:23.514: E/AndroidRuntime(19249): ... 11 more
01-09 11:44:23.514: E/AndroidRuntime(19249): Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.MAIN cat=[android.intent.category.APP_MUSIC] }
01-09 11:44:23.514: E/AndroidRuntime(19249): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1660)
01-09 11:44:23.514: E/AndroidRuntime(19249): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1430)
01-09 11:44:23.514: E/AndroidRuntime(19249): at android.app.Activity.startActivityForResult(Activity.java:3532)
01-09 11:44:23.514: E/AndroidRuntime(19249): at android.app.Activity.startActivityForResult(Activity.java:3493)
01-09 11:44:23.514: E/AndroidRuntime(19249): at android.app.Activity.startActivity(Activity.java:3735)
01-09 11:44:23.514: E/AndroidRuntime(19249): at android.app.Activity.startActivity(Activity.java:3703)
01-09 11:44:23.514: E/AndroidRuntime(19249): at com.fenda.isp38_musicplayer.MainActivity.onClickIt(MainActivity.java:1388)
01-09 11:44:23.514: E/AndroidRuntime(19249): ... 14 more
求助一下,有没有哪位高人能够帮忙解决?
------解决思路----------------------
intent.addCategory(Intent.CATEGORY_APP_MUSIC); 只加这个category好像匹配不到,
需要再加个 action,不知道你的平台 是否有限制
------解决思路----------------------
如果你手机上的音乐播放器都不是 app_mustic的类型的话 就找不到。
用这个试试。
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://sdcard/xxx.mp3""), "audio/mp3");
startActivity(intent);