小编Jon*_*h G的帖子

使用意图避免失败的BINDER TRANSACTION错误

在我的Costum相机应用中,我需要将位图和Uri从一项活动转移到另一项活动。由于某种原因,我在大多数手机上都收到了失败的绑定交易错误(我在较新的手机上收到了错误,但在Nexus4和Galaxy3上却没有收到)。即使我仅尝试通过意图传输位图,我也会遇到相同的错误(我也尝试仅传输Uri并收到错误)。从我在线阅读的内容来看,该错误来自内存问题,但我不知道如何解决。我将不胜感激。

我的第一个活动:

...

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK) {
        if (requestCode == SELECT_PICTURE) {
            tv.setVisibility(View.INVISIBLE);
            btn.setVisibility(View.INVISIBLE);
            selectedImageUri = data.getData();
            selectedImagePath = getPath(selectedImageUri);
            System.out.println("Image Path : " + selectedImagePath);

            img.setImageURI(selectedImageUri);
            ok.setVisibility(View.VISIBLE);
        }
    }
}

public String getPath(Uri uri) {
    String[] projection = { MediaStore.Images.Media.DATA };
    Cursor cursor = managedQuery(uri, projection, null, null, null);
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    cursor.moveToFirst();
    return cursor.getString(column_index);
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    if(v.getId()==btn.getId()) …
Run Code Online (Sandbox Code Playgroud)

java android uri bitmap android-intent

2
推荐指数
1
解决办法
1467
查看次数

标签 统计

android ×1

android-intent ×1

bitmap ×1

java ×1

uri ×1