A 跳转至 B 并传值;
A:
Intent intent = new Intent(Intent.ACTION_MAIN);
/**知道要跳转应用的包命与目标Activity*/
ComponentName componentName = new ComponentName("com.demo.demo", "com.demo.ui.main.DemoActivity");
intent.setComponent(componentName);
intent.putExtra("salesNo", "参数1");
intent.putExtra("code", "参数2");
startActivity(intent);
AndroidManifest.xml 设置
android:exported="true"
B 中:
要在 onCreate 方法中接收传值:
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
String salesNo = "";
String code = "";
if (bundle != null) {
salesNo = bundle.getString("salesNo");
code = bundle.getString("code");
}
AndroidManifest.xml 设置
android:exported="true"
android:launchMode="singleInstance"
遇到问题,每次跳转不一定都能取到传来的值。
这是因为每次接受传值的 activity 必须要是新建的。
写的时候要写一个中间的 activity ,在此页面中判断具体逻辑,进入登录页面或者进入首页等。
这个不会影响用户体验。