【发布时间】:2015-10-21 07:17:11
【问题描述】:
我使用this 示例来获取图像路径。当我得到小图像路径时,一切都很好,但是当我想要获得巨大的图像路径时,我的应用程序会崩溃。我不知道为什么会发生这种情况,因为我不使用 ImageView 来显示所选路径中的图像。
我的代码在这里打开画廊并选择图片:
selectImgBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, 0);
//urlTV.setText(getMainPath());
}
});
第二个显示路径:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK && data != null){
String realPath;
if (Build.VERSION.SDK_INT < 19){
realPath = RealPathUtil.getRealPathFromURI_API11to18(this, data.getData());
} else {
realPath = RealPathUtil.getRealPathFromURI_API19(this, data.getData());
}
setMainPath(realPath);
/*setFile(realPath);
setToTextViews(Build.VERSION.SDK_INT, data.getData().getPath(), realPath);*/
urlTV.setText(getMainPath());
}
}
谢谢!
引起:java.lang.IllegalArgumentException:不是文档:content://media/external/images/media/32257 在 android.provider.DocumentsContract.getDocumentId(DocumentsContract.java:629) 在 com.example.murager.httpclientapp.classes.RealPathUtil.getRealPathFromURI_API19(RealPathUtil.java:19) 在 com.example.murager.httpclientapp.activities.MainActivity.onActivityResult(MainActivity.java:98) 在 android.app.Activity.dispatchActivityResult(Activity.java:5456) 在 android.app.ActivityThread.deliverResults(ActivityThread.java:3549) 在 android.app.ActivityThread.handleSendResult(ActivityThread.java:3596) 在 android.app.ActivityThread.access$1300(ActivityThread.java:151) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1369) 在 android.os.Handler.dispatchMessage(Handler.java:110) 在 android.os.Looper.loop(Looper.java:193) 在 android.app.ActivityThread.main(ActivityThread.java:5292) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640) 在 dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
-
[This][1] 解决了我在 KitKat 中选择文件的问题。 [1]:stackoverflow.com/a/20559175/5134148
-
你必须检查这个不错的库,github.com/coomar2841/image-chooser-library
-
不,我不检查这个库,但我会使用它。谢谢!!!