2012-08-03 67 views
1

我每次想要使用Android中的图库中的图像显示图像时都会出现此错误。android.content.ActivityNotFoundException从网络中获取图像时

08-03 10:12:59.895: E/AndroidRuntime(27974): FATAL EXCEPTION: main 
08-03 10:12:59.895: E/AndroidRuntime(27974): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://192.168.10.132:8000/someimage.jpg typ=image/* } 
08-03 10:12:59.895: E/AndroidRuntime(27974): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1409) 
08-03 10:12:59.895: E/AndroidRuntime(27974): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379) 
08-03 10:12:59.895: E/AndroidRuntime(27974): at android.app.Activity.startActivityForResult(Activity.java:2827) 
08-03 10:12:59.895: E/AndroidRuntime(27974): at android.app.Activity.startActivity(Activity.java:2933) 
08-03 10:12:59.895: E/AndroidRuntime(27974): at my.package.activities.MediaActivity$2.onItemClick(MediaActivity.java:58) 
08-03 10:12:59.895: E/AndroidRuntime(27974): at android.widget.AdapterView.performItemClick(AdapterView.java:284) 
08-03 10:12:59.895: E/AndroidRuntime(27974): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1936) 
08-03 10:12:59.895: E/AndroidRuntime(27974): at android.os.Handler.handleCallback(Handler.java:587) 
08-03 10:12:59.895: E/AndroidRuntime(27974): at android.os.Handler.dispatchMessage(Handler.java:92) 
08-03 10:12:59.895: E/AndroidRuntime(27974): at android.os.Looper.loop(Looper.java:123) 
08-03 10:12:59.895: E/AndroidRuntime(27974): at android.app.ActivityThread.main(ActivityThread.java:3687) 
08-03 10:12:59.895: E/AndroidRuntime(27974): at java.lang.reflect.Method.invokeNative(Native Method) 
08-03 10:12:59.895: E/AndroidRuntime(27974): at java.lang.reflect.Method.invoke(Method.java:507) 
08-03 10:12:59.895: E/AndroidRuntime(27974): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
08-03 10:12:59.895: E/AndroidRuntime(27974): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 
08-03 10:12:59.895: E/AndroidRuntime(27974): at dalvik.system.NativeStart.main(Native Method) 

我的代码是:

gridView.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { 
     Media clicked = adapter.getItem(position); 

     String url = Backend.BASE_MEDIA_URL + clicked.url_big; 

     Log.d("Media", url); 

     Intent intent = new Intent(); 
     intent.setAction(android.content.Intent.ACTION_VIEW); 
     intent.setDataAndType(Uri.parse(url), "image/*"); 
     startActivity(intent); 
    } 
}); 

我100%肯定,网址是正确的。提前致谢。

编辑:清单文件,我删除了一些不相关的活动

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="my.package" android:versionCode="1" 
    android:versionName="1"> 

    <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="16" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.ACCOUNT_MANAGER" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.USE_CREDENTIALS" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

    <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > 


     <activity android:name=".android.intent.action.VIEW" ></activity> 

    </application> 

</manifest> 
+0

在清单文件中有提及权限吗? – Akshay 2012-08-03 09:23:03

+0

哪个权限?我添加了活动.android.intent.action.VIEW来显示,但没有奏效。 – pawelo 2012-08-03 09:32:53

+0

你能在浏览器中打开该URL吗?“http://192.168.10.132:8000/someimage.jpg”?我无法打开它。 – 2012-08-03 09:34:56

回答

1

我得到这个错误我想从使用建立在画廊的Android

第一个Web显示图像每一次,没有单一的“建立在画廊”应用程序。有成百上千台设备,他们将有各种“建在画廊”的应用程序。其次,除了浏览器之外,设备上没有任何能够“显示来自网络的图像”的设备,只有当您让Android确定实际的具体MIME类型时。没有要求任何设备的“内置图库”应用程序支持使用它下载和显示图像的第三方应用程序。

+0

那么,你有什么建议?我应该建立自己的自定义活动来显示图像吗?我需要自动旋转和多点触控大小调整。你认为什么是使用android显示全屏图片的好习惯? – pawelo 2012-08-03 11:20:14

+0

@pawelo:“我需要自动旋转和多点触摸调整大小” - 然后自己编码。首先,'ACTION_VIEW'是查看图像,而不是编辑图像。其次,不能保证用户将拥有一个提供“自动旋转和多点触控调整大小”的应用,您可以要求为您编辑图像。如果您希望更一般地允许用户下载和编辑图像,请自己下载图像,使用带有正确MIME类型的ACTION_EDIT“Intent”......但这样可以让用户进行任何类型的编辑,并且只有在他们安装了图像编辑器的情况下。 – CommonsWare 2012-08-03 11:23:30

+0

感谢您的帮助。 – pawelo 2012-08-03 12:14:40