我怎样才能获得包括G +在内的所有图像投掷Android版本

时间:2015-07-21 11:37:03

标签: android google-plus uri android-image bitmapfactory

我在app中使用ANDROID_PICK或ANDROID_GET_CONTENT(两种方法的行为相同)。最低支持的版本是API 11。 所以我在不同的设备上测试了我的应用程序,并获得了一些不一致的东西扔了android版本:

其中一些是:

hbservice.com

当我使用getContentProvider()。openInputStream(uri);为了获得一个流给BitmapFactory,我收到了FileNotFoundException。

如何在不依赖Android版本的情况下获取所有这些图像?我认为openInputStream是一个很好的方法,但它似乎是假的。我遇到的问题只是针对本地内容的远程内容(Google +),我得到了图像,可以用它做我想做的事。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

所以我找到了我搜索的内容。

通过照片应用从谷歌加和其他来源获取图片。

MediaStore.Images.Media.getBitmap(getContentResolver(), imageUri);

从三种方式收到imageUri:ACTION_GET_CONTENT,ACTION_PICK或Intent-Filter

对于ACTION_GET_CONTENT和ACTION_PICK:

public void onActivityResult(int requestCode, int resultCode, Intent returnIntent)
{
    if(resultCode == RESULT_OK){
        imageUri = returnIntent.getData();
    }
}

对于Intent-Filter

protected void onCreate(Bundle savedInstanceState) {
    Intent receiveIntent = getIntent();
    if(receiveIntent != null && receiveIntent.getType() != null && receiveIntent.getType().contains("image/"))
    {
        imageUri = receiveIntent.getParcelableExtra(Intent.EXTRA_STREAM);
    }
}