Intent.ACTION_VIEW与android.content.ActivityNotFoundException崩溃

时间:2012-01-29 21:32:48

标签: android android-activity

我假设您可以使用Intent.ACTION_VIEW打开资源文件夹中的图片?

如果没有,请告诉我,不要费心阅读!哈哈

如果可以,我可以使用此代码:

Intent mainIntent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("android.resource://com.tclayson.myapp/"+extrasImgs.mImagesIds[position]);
mainIntent.setDataAndType(uri, "image/jpg");
startActivity(mainIntent);

然而它却给了我这个错误:

E/AndroidRuntime(  309): FATAL EXCEPTION: main
E/AndroidRuntime(  309): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=android.resource://com.tclayson.myapp/2130837611 }
E/AndroidRuntime(  309):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1512)
E/AndroidRuntime(  309):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1384)
E/AndroidRuntime(  309):    at android.app.Activity.startActivityForResult(Activity.java:3190)
E/AndroidRuntime(  309):    at android.app.Activity.startActivity(Activity.java:3297)
E/AndroidRuntime(  309):    at com.tclayson.myapp.FBRadioPlayer$SlidingContentPagerAdapter$5.onItemClick(TheActivity.java:226)
E/AndroidRuntime(  309):    at android.widget.AdapterView.performItemClick(AdapterView.java:292)
E/AndroidRuntime(  309):    at android.widget.AbsListView.performItemClick(AbsListView.java:1058)
E/AndroidRuntime(  309):    at android.widget.AbsListView$PerformClick.run(AbsListView.java:2514)
E/AndroidRuntime(  309):    at android.widget.AbsListView$1.run(AbsListView.java:3168)
E/AndroidRuntime(  309):    at android.os.Handler.handleCallback(Handler.java:605)
E/AndroidRuntime(  309):    at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(  309):    at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(  309):    at android.app.ActivityThread.main(ActivityThread.java:4424)
E/AndroidRuntime(  309):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(  309):    at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(  309):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
E/AndroidRuntime(  309):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
E/AndroidRuntime(  309):    at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager(  152):   Force finishing activity com.tclayson.myapp/.MyActivity

我不知道这有什么不妥!任何帮助都会很棒。

由于

3 个答案:

答案 0 :(得分:0)

该方案的'android.resource'意味着什么?我以前从未见过。您的错误消息表示没有找到可以处理您的URI方案的应用程序。

答案 1 :(得分:0)

我找不到答案。所以我在应用程序中创建了自己的图像查看器。

答案 2 :(得分:0)

您应该在URL的开头添加http://。即。使用

Uri uri = Uri.parse("http://android.resource://com.tclayson.myapp/"+extrasImgs.mImagesIds[position]);

而不是

Uri uri = Uri.parse("android.resource://com.tclayson.myapp/"+extrasImgs.mImagesIds[position]);