程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> manifest-A_app 單獨啟動 B_app

manifest-A_app 單獨啟動 B_app

編輯:編程綜合問答
A_app 單獨啟動 B_app

在 B 的 manifest 中:

<activity android:name="BActivity" >
    <intent-filter>
        <action android:name="ACTION_TEST" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

還有一個全局變量。
A 的啟動代碼

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("package name","package name.BActivity"));
startActivity(intent);

它可以啟動 B_app。
但是當我從 A 中啟動 B 時,並且通過點擊 B 的圖標來直接啟動 B 時,全局變量時相同的。
我想從 A 中啟動 B,並且直接啟動兩個獨立的程序。
如何實現?

最佳回答:


當從 A 中啟動 Activity B時,你可以傳遞一些 boolean 值到B,說明它已經從 A 中啟動。
從B 中啟動 activity A:

Bundle b = new Bundle();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(new ComponentName("package name", "package name.BActivity"));
b.putBoolean("fromA", true);
intent.putExtras(b);
startActivity(intent);

在 Activity B 中檢查在 onCreate() 中是否有 bundle。

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Bundle extras = getIntent().getExtras();
    if (extras != null)
    {
        // Activity launched from Activity A
    } else
    {
        // Actitivity launched from launcher  
            // clear the global variables
    }
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved