2012-01-29 70 views
1

我假设你可以从Intent.ACTION_VIEW资源文件夹打开图像?Intent.ACTION_VIEW崩溃与android.content.ActivityNotFoundException

如果没有,那么让我知道,不要读书!哈哈

如果可以话,我有这样的代码:

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 

我不知道这可能是不对的!任何帮助都会很棒。

谢谢

回答

0

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

0

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

+0

我明白了。该方案'android.resource'是一个资源文件。它是为资源文件构建Uri的默认方式(我被引导相信)。 – 2012-01-29 22:31:24

+0

无论如何,日志意味着没有找到处理意图的应用程序。我建议把重点放在^^上。 – lulumeya 2012-01-29 22:40:00

+0

但它只是一个JPG。当然,它应该问我是否想打开画廊应用程序或什么? – 2012-01-29 23:19:39

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]);