我的应用启动图库以选择照片。与此同时,我的应用程序被操作系统杀死,因此当我选择图像时,我的应用程序需要重新启动。
注意:这是一个短暂的问题。它通常可以正常工作。
当它失败时,日志中根本没有表示出现任何问题。
图库通过Intent.ACTION_GET_CONTENT
以常规方式启动。
为什么我的应用程序被终止?我只能假设这是一个内存问题(由Gallery应用程序引起?),除了:
也会出现小图片。
当它成功运行时,我的应用处理没有问题 图片。
我正在使用android:largeHeap="true"
。 activityManager.getMemoryClass()
= 256MB。
连接调试器时,问题会更频繁发生。
即使是未压缩的照片,也可能不超过30MB。在启动图库时,我的系统有199MB可用。
即使应用程序重新启动,仍会调用onActivityResult
方法,因此我仍然可以恢复上传,但这会导致进程非常缓慢且用户体验非常糟糕。
(在三星Galaxy S3上运行Jellybean)
答案 0 :(得分:0)
试试这个兄弟,
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);//
startActivityForResult(Intent.createChooser(intent, "Select Picture"),123);
答案 1 :(得分:0)
试试这个
Intent intent = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setType("image/*");
startActivityForResult(
Intent.createChooser(intent, "Select File"),
SELECT_FILE);
答案 2 :(得分:0)
这对我有用: -
private static final int GALLERY_INTENT = 2;
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, GALLERY_INTENT);
在ActivityResult中
if (requestCode == GALLERY_INTENT && resultCode == RESULT_OK && data != null)
{
//do something
}
并确保您已在清单文件
中添加这些内容 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />