2012-01-29 116 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]);