解决方案 »

  1.   

    lz只需要在那个activity   setResult就可以了比如:
    Intent intent = getIntent();
    intent.putExtra("value", "myvalue");
    setResult(RESULT_OK, intent);其他app调用之后
    @Override
    public void onActivityResult(int requestCode, int resultCode,
    Intent data) {
    if (resultCode == RESULT_OK) {
    String value = data.getStringExtra("value");
    Toast.makeText(getActivity(), value, 1000).show();
    }
    }
      

  2.   

    我就是这么做的,但是我有三个activity 进入顺序是  A ---B -----C 在其他应用程序调用的时候程序会走到A   然后用户选择相册  走到B ,现在我要在B  activity中返回图片的URI 我该怎么做?我在测试的时候在A中返回每个相册的第一张照片是可以返回出来的,但是在B  activity中就返回不出来了!不知道为什么!
      

  3.   

    Intent intent = getIntent();
    String action = intent.getAction();
    if (Intent.ACTION_GET_CONTENT.equalsIgnoreCase(action)) {
    Log.i(TAG, "savedInstanceState ==" + "aaaaaaaaaa");
    isOther = true;
    //其他程序启动本应用会走到这里
    这个判断是否是其他应用程序启动   isOther是个标记 Intent mIntent = getIntent();//页面跳转!!!!!
    Bundle data = mIntent.getExtras() != null
                    ? new Bundle(mIntent.getExtras())
                    : new Bundle();
                    data.putInt("position", position);
                    data.putBoolean(KEY_GET_CONTENT, true);
    Log.i("qinchun", "intent==" + Intent.FLAG_GRANT_READ_URI_PERMISSION);
    mIntent.putExtras(data);
    mIntent.setClass(GalleryWallActivity.this, WallActivity.class);
    startActivity(mIntent);
    // translateAnimation(view,540,960,(float)(1080*1.0/view.getWidth()),(float)(1920*1.0/view.getHeight()));
    overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit);
    }
    这一段是  如果isOther=true则进行的点击响应,并跳转到B activity 将isOther的值传过去 Log.i("qinchun", "wall onlic==="+path);
    Uri uri = getUri(mList.get(position).getPath());
    Log.i("qinchun", "uri==" + uri + ";path==" + mList.get(position).getPath());
    Intent intent = new Intent(null, uri).addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    Log.i("qinchun", "intent=="+Intent.FLAG_GRANT_READ_URI_PERMISSION);
    mApp.getmActivityList().get(0).setResult(mApp.getmActivityList().get(0).RESULT_OK, intent);
    for(Activity activity:mApp.getmActivityList()){
    activity.finish();
    }
    这段是当A 传过来的isOther是true的时候做出的点击响应,并将值返回到调用本应用的APP,可以值返回不出去  大神帮忙看看哪里出问题了
      

  4.   

    A startActivityForResult(new Intent(this, Activity_B.class),1);@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK) {
    setResult(RESULT_OK, data);
    finish();
    }
    }
    BIntent intent = new Intent();
    intent.putExtra("value", "myvalue");
    setResult(RESULT_OK, intent);