分享意图 - 从另一个应用程序到我的应用程序nullpointer

时间:2015-03-14 14:56:47

标签: java android share

我想在之间分享图片,视频或其他一些东西。 whatsapp,通过分享到我的应用程序。

图片示例:

Uri imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
[...]
in.putExtra(Constant.SHARE_URI, imageUri.toString());

所以在我的Mainactivity中

Uri selectedImage = shareUri;
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);

这将来自Gallery但不会来自其他应用程序,例如Whatsapp。 我的应用程序现在会崩溃。

我发现这是错误的道路,从画廊它/ storange和whatsapp是/内容。 我怎样才能转换/转换为/ storage?

1 个答案:

答案 0 :(得分:0)

我完成了它,没有转换uri ......

即时使用此代码检查文件路径

if (selectedImage != null && "content".equals(selectedImage.getScheme())) {
   Cursor cursor = this.getContentResolver().query(selectedImage, new String[] { android.provider.MediaStore.Images.ImageColumns.DATA }, null, null, null);
   cursor.moveToFirst();   
   path = cursor.getString(0);
   cursor.close();
} else {
   path = selectedImage.getPath();
}