我有一個主要活動包括地圖的應用程序。 我想在我的主屏幕啓動器上創建兩個圖標,它們都會打開相同的主要活動,但在地圖上使用不同的用戶界面。如何從兩個不同的UI使用不同的圖標打開主要活動
例如: 如果我按下圖標A,應用程序將在地圖上打開一個晶圓廠,如果我按下圖標B,應用程序將在地圖上沒有晶圓廠的情況下打開。
我有一個主要活動包括地圖的應用程序。 我想在我的主屏幕啓動器上創建兩個圖標,它們都會打開相同的主要活動,但在地圖上使用不同的用戶界面。如何從兩個不同的UI使用不同的圖標打開主要活動
例如: 如果我按下圖標A,應用程序將在地圖上打開一個晶圓廠,如果我按下圖標B,應用程序將在地圖上沒有晶圓廠的情況下打開。
首先你需要添加第二個啓動器意圖到你的清單。
<activity
android:name=".yourpackage.MapActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<meta-data android:name="visibility" android:value="0"/>
</activity>
<activity-alias
android:name=".MapWithoutFabActivity"
android:targetActivity=".yourpackage.MapActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<meta-data android:name="visibility" android:value="1"/>
</activity-alias>
接下來我們需要修改我們的地圖MapActivity以準備更改晶圓廠按鈕的可見性。
public class MapActivity extends AppCompatActivity {
protected int fabVisibility = View.VISIBLE;
@Override protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Hope this method works.
Bundle bundle = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA).metaData;
int visibility = Integer.valueOf(bundle.getString("visibility"));
fab.setVisibility(visibility);
}
protected void onNewIntent(Intent intent) {
Bundle bundle = getPackageManager().getApplicationInfo(getPackageName(),
PackageManager.GET_META_DATA).metaData;
int visibility = Integer.valueOf(bundle.getString("visibility"));
fab.setVisibility(visibility);
}
祝您好運了
埃姆雷
修復了一些失敗。請再次檢查 –
如果應用程序已經打開,它會從前一個屏幕重新啓動。意思是,如果您使用圖標A打開應用程序,則如果您單擊B,屏幕A會在應用程序顯示之前的狀態時顯示。 – Eselfar
他們都將被打開堆疊。他們是獨立的。 –
只是處理的Fab的可見性消失了,可見不同的圖標按或你可以在一個活動的兩個碎片,並推出根據您的圖標上按需要 –
嘗試檢查了這一點https://developer.android.com/guide/topics/ui/shortcuts.html似乎是你想要的,但它是最新版本,我認爲 – Cruces
我不知道這是否工作,但這也似乎是你需要什麼https://stackoverflow.com/questions/43361498/android-quick-shortcuts-passing-intent-extraor-some-data-in-shortcutsx毫升 – Cruces