我Activity A
启动Activity B
。
然后,在活动B中,有一个按钮,用于选择
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*"); startActivityForResult(intent,
SELECT_PICTURE);
然后,我有功能
@Override
protected void onActivityResult(int requestCode, int
resultCode, Intent data) {...
有时可行,有时候调用onActivityResult
时,Activity B
会重新启动,有时它会回到活动A,甚至在通过onActivityResult
之前。
我一直在读它可能因Ram问题而发生,但我该如何解决呢?
谢谢!
答案 0 :(得分:0)
检查是否在清单中添加
android:noHistory="true"
到活动B 如果是这样,请删除它 你不能使用这个标志并使用OnActivityResult 因为这个标志会在活动进入后台后立即导致您的活动结束
如果不是没有历史的问题,它可能与意图的行动有关 试试这个:
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,
"Select Picture"), SELECT_PICTURE);
和onActivityResult
if (resultCode == RESULT_OK) {
if (requestCode == SELECT_PICTURE) {
Uri selectedImageUri = data.getData();
selectedImagePath = getPath(selectedImageUri);
}
}