我在我的應用程序中使用singleTask活動。 訂單活動A-> B-> C-> B 我把額外的A放在B上,然後把它放在B上,然後我去C並且嘗試putExtra
用於B,但是在B上我沒有看到它。我不能發送額外的singleTask活動Android
如果我使用默認android:launchMode
,它工作正常。
我在我的應用程序中使用singleTask活動。 訂單活動A-> B-> C-> B 我把額外的A放在B上,然後把它放在B上,然後我去C並且嘗試putExtra
用於B,但是在B上我沒有看到它。我不能發送額外的singleTask活動Android
如果我使用默認android:launchMode
,它工作正常。
你必須在意圖之間攜帶額外的東西。
甲-step1->乙-step2->Ç-step3->乙
步驟1
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String extraString;
Bundle extras = getIntent().getExtras();
if (extras == null) {
extraString = null;
System.out.println("null extra");
} else {
extraString = extras.getString("extra");
System.out.println("from " + extraString);
}
Intent intent = new Intent(C.this,B.class);
intent.putExtra("extra", extraString);
startActivity(intent);
};
第二步
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String extraString,extraString2;
Bundle extras = getIntent().getExtras();
if (extras == null) {
extraString = null;
System.out.println("null extra");
} else {
try
{
extraString = extras.getString("extra");
System.out.println("from " + extraString);
{
catch{}
}
// CATCH EXTRA STRING2
if (extras == null) {
extraString2 = null;
System.out.println("null extra");
} else {
try
{
extraString2 = extras.getString("extra2");
System.out.println("from " + extraString2);
{
catch{}
}
Intent intent = new Intent(C.this,B.class);
intent.putExtra("extra", extraString);
startActivity(intent);
};
步驟3
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String extraString
Bundle extras = getIntent().getExtras();
if (extras == null) {
extraString = null;
System.out.println("null extra");
} else {
extraString = extras.getString("extra");
System.out.println("from " + extraString);
}
Intent intent = new Intent(C.this,B.class);
intent.putExtra("extra2", extraString);
startActivity(intent);
};
從A到BI發送額外1,但從C到B extra2 – user1884872
請看看編輯的答案 – Talha
正如我所看到的,您的答案適用於默認的android:launchMode,對於android:launchMode = 「singleTask」答案在這裏http://stackoverflow.com/questions/14051507/how-to-send-data-to-created-activity-on-android/14052145#14052145 – user1884872
嘗試檢查onNewInten方法B活性http://developer.android.com/guide/components/tasks-and-back-stack.html#ManifestForTasks –
請POST代碼 –
用於獲取不使用putExtra,而是使用B –