启动活动的结果不工作结果、工作

2023-09-12 06:09:46 作者:奶糖公主

我使用的启动活动结果开始一个新的活动来选择库中的形象,它会返回一个图像路径我的主要活动,使之在我的主要活动中插入图像,

这是我的code

 意向意图=新的意图(getApplicationContext(),Image.class);
    intent.putExtra(UUID,image.getUuid()的toString());
    startActivityForResult(意向,PICK_IMAGE);

@覆盖
保护无效onActivityResult(INT申请code,INT结果code,意图数据){
    开关(要求code){

    案例PICK_IMAGE:
        如果(结果code!= RESULT_OK)
            返回;
        字符串uuidStr = data.getStringExtra(UUID);
        log.v(图片网址,uuiStr);
        打破;
    }
}
 

但我发现下面的崩溃

 了java.lang.RuntimeException:无法恢复活动
java.lang.RuntimeException的:不提供结果ResultInfo {谁= NULL,请求= 2,
结果= -1,数据= {意向(有临时演员)}}到活动
{com.write.example / com.write.example.MainWriterActivity}:显示java.lang.NullPointerException
 

解决方案

开始活动

 私有静态最终诠释PICK_IMAGE = 1;
意向意图=新的意图();
intent.setType(图像/ *);
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(意向,选择图片),PICK_IMAGE);
 
扶贫 造血 送鸡苗 助力创收暖民心

取结果

  @覆盖
  保护无效onActivityResult(INT申请code,INT结果code,意图数据)
  {
    如果(要求code == PICK_IMAGE和放大器;&放大器;数据= NULL和放大器;!&安培;!data.getData()= NULL)
     {
       乌里_uri = data.getData();
       //用户必须选择一个图像。
       光标光标= getContentResolver()查询(_uri,新的String [] {
       android.provider.MediaStore.Images.ImageColumns.DATA},NULL,NULL,NULL);
       cursor.moveToFirst();

       //链接到图片
       最后弦乐imageFilePath = cursor.getString(0);

       cursor.close();
     }
    super.onActivityResult(要求code,因此code,数据);
 

}

I'm using start Activity result for starting a new activity to select a image from gallery and it will return a image path to my main activity to , so that it will insert image in my main activity,

here is my code

    Intent intent = new Intent(getApplicationContext(), Image.class);
    intent.putExtra(UUID, image.getUuid().toString());
    startActivityForResult(intent, PICK_IMAGE);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch (requestCode) {

    case PICK_IMAGE:
        if (resultCode != RESULT_OK)
            return;
        String uuidStr = data.getStringExtra(UUID);
        log.v("image url",uuiStr);            
        break;
    }
}

but i'm getting following crashes

java.lang.RuntimeException: Unable to resume activity 
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2, 
result=-1,data=Intent { (has extras) }} to activity       
{com.write.example/com.write.example.MainWriterActivity}: java.lang.NullPointerException

解决方案

Start Activity

private static final int PICK_IMAGE = 1;
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE);

Take Result

 @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) 
  {
    if(requestCode == PICK_IMAGE && data != null && data.getData() != null)
     {
       Uri _uri = data.getData();
       //User had pick an image.
       Cursor cursor = getContentResolver().query(_uri, new String[] {     
       android.provider.MediaStore.Images.ImageColumns.DATA }, null, null, null);
       cursor.moveToFirst();

       //Link to the image
       final String imageFilePath = cursor.getString(0);

       cursor.close();
     }
    super.onActivityResult(requestCode, resultCode, data);

}