程序员

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

2017-10-30  本文已影响209人  _琳哥

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

PtApp部分

1. 在 AndroidManifest.xml 中配置 LoginActivity
<activity
        android:name=".me.LoginActivity"
        android:screenOrientation="portrait">
    <intent-filter>
        <action android:name="wyx.subplatform"/> 
        <data android:scheme="subplatform"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.BROWSABLE"/>
    </intent-filter>
</activity>
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();

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"));
    }
}
上一篇 下一篇

猜你喜欢

热点阅读