gpt4 book ai didi

android - 选择图片Intent导致空指针异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:47:08 24 4
gpt4 key购买 nike

 public void uploadpicture(View view)
{
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,
"Select Picture"), SELECT_PICTURE);
}
public void onActivityResult(int requestCode, int resultCode, Intent data)
{

if (resultCode == RESULT_OK)
{
if (requestCode == SELECT_PICTURE)
{

Uri selectedImageUri = data.getData();
selectedImagePath = getPath(selectedImageUri);
Toast.makeText(this,selectedImagePath,Toast.LENGTH_SHORT).show();
Log.i("selectedImagePath",selectedImagePath.trim());

}

}


}

我从 Log-cat 得到了这个:

05-24 15:57:51.054: E/AndroidRuntime(18016): FATAL EXCEPTION: main
05-24 15:57:51.054: E/AndroidRuntime(18016): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { dat=content://com.android.sec.gallery3d.provider/picasa/item/5147009501910019474 }} to activity {ncpl.talentapp/ncpl.talentapp.SignUp}: java.lang.NullPointerException
05-24 15:57:51.054: E/AndroidRuntime(18016): at android.app.ActivityThread.deliverResults(ActivityThread.java:2821)
05-24 15:57:51.054: E/AndroidRuntime(18016): at android.app.ActivityThread.handleSendResult(ActivityThread.java:2864)
05-24 15:57:51.054: E/AndroidRuntime(18016): at android.app.ActivityThread.access$1000(ActivityThread.java:122)
05-24 15:57:51.054: E/AndroidRuntime(18016): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1057)
05-24 15:57:51.054: E/AndroidRuntime(18016): at android.os.Handler.dispatchMessage(Handler.java:99)
05-24 15:57:51.054: E/AndroidRuntime(18016): at android.os.Looper.loop(Looper.java:132)
05-24 15:57:51.054: E/AndroidRuntime(18016): at android.app.ActivityThread.main(ActivityThread.java:4126)
05-24 15:57:51.054: E/AndroidRuntime(18016): at java.lang.reflect.Method.invokeNative(Native Method)
05-24 15:57:51.054: E/AndroidRuntime(18016): at java.lang.reflect.Method.invoke(Method.java:491)
05-24 15:57:51.054: E/AndroidRuntime(18016): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
05-24 15:57:51.054: E/AndroidRuntime(18016): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
05-24 15:57:51.054: E/AndroidRuntime(18016): at dalvik.system.NativeStart.main(Native Method)
05-24 15:57:51.054: E/AndroidRuntime(18016): Caused by: java.lang.NullPointerException

最佳答案

从您的日志来看,您似乎正试图从 Picasa 文件夹 dat=content://com.android.sec.gallery3d.provider/picasa/item/5147009501910019474 中选取图片,而这些必须以不同方式处理,因为 MediaStore.Images.Media.DATA 列中的数据对它们来说将为空。您可以在此链接中了解如何正确处理从 Picasa 中选取图像:

http://dimitar.me/how-to-get-picasa-images-using-the-image-picker-on-android-devices-running-any-os-version/

只有你还需要处理以“content://com.sec.android.gallery3d”开头的 URI(我在三星 S3 上看到了这个)所以改变

if (selectedImage.toString().startsWith("content://com.google.android.gallery3d"))

if (_selectedImage.toString().startsWith("content://com.google.android.gallery3d") 
|| selectedImage.toString().startsWith("content://com.sec.android.gallery3d"))

我不确定是否还有其他特殊情况(可能是)。

关于android - 选择图片Intent导致空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10735562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com