如何跳转回已打开的Activity并传参(不使用startActivityForResult)
如 activity1 跳转到activity2后,acitvity2需要回到原来已打开的activity1且不,并传参到acitivity1。
1,在AndroidManifest.xml设置activity1 为 单例模式
<activity android:name=".activity1" android:label="@string/app_name" android:screenOrientation="portrait" android:launchMode="singleInstance" android:windowSoftInputMode="adjustUnspecified|stateHidden"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity>
2,在activity2.java需要填转到activity1.java的时候,直接使用startAcitvity方法即可
Intent intent = new Intent(activity2.this,activity1.class);
intent.putExtra("nickname","小白白");startActivity(intent);
3,在activity1.java 重写 onNewIntent方法----到acitvity2跳回到activity1的时候,会调用onNewIntent方法
@Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); setIntent(intent); Log.d("zdbb","===============onNewIntent========================"); Bundle bundle = intent.getExtras(); if(bundle!=null&&bundle.containsKey("nickname")){ String nickname = bundle.getString("nickname"); Log.i("zdbb",nickname); } }