打开其他app的Activity界面并获取返回值


应用场景 : 应用PtDemo唤起PtApp的登录界面LoginActivity并获取返回值

PtApp部分

1. 在 AndroidManifest.xml 中配置 LoginActivity

    
         
        
        
        
    

  • action 配置Intent的启动action, 为自定义的值
  • data的scheme用于配置协议 , 自定义的值 . 此文配置的为 subplatform://
2. 在 LoginActivity 接收Intent方式一样用getIntent()就好 , 下面为设置页面的返回值
Intent it = new Intent();
it.putExtra("lin", "intent value result ok");
//Bundle bundle = new Bundle();
//bundle.putString("flynn", "bundle value result ok");   这里用bundle好像不能被接收到
setResult(Activity.RESULT_OK, it);
finish();
  • 只需要设置 setResult(Activity.RESULT_OK, it) 就能返回了

PtDemo部分

1. 根据PtApp里面对LoginActivity的配置, 以如下方式打开
Intent it = new Intent("wyx.subplatform", Uri.parse("subplatform://"));
it.putExtra("platformId", "3222");
startActivityForResult(it, 100);
  • 重写以下方法用于接收返回值
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 100) {
        ToastUtil.showTip(this, "lin = " + data.getStringExtra("lin"));
    }
}

你可能感兴趣的:(打开其他app的Activity界面并获取返回值)