2013-07-08 13 views
0

我最近更改了我的應用程序的啓動活動 - 將清單中的intent-filter(action.MAIN和category.LAUNCHER)從舊活動移至新活動 - 此後新活動名稱而不是應用程序名稱顯示在我的測試手機上的所有應用程序列表中(運行Android 2.3.6版本)。在「管理應用程序」列表中,它仍然顯示應用程序名稱。活動名稱而不是應用程序名稱顯示在測試設備上的所有應用程序列表中?

這不是一個大問題 - 因爲我總是可以創建一個新的應用程序,並將新的啓動器活動作爲默認應用程序 - 但是如果能夠靈活地更改同一項目中的啓動器活動,將會很不錯。基本上還有別的,除了在清單中剪切和粘貼意圖過濾器之外,還需要完成更改默認啓動器活動?也就是說,假設這是問題的原因。

在此先感謝您的幫助。

回答

3

從這個answerAndroid Documentation

清單中的應用程序元素上使用android:label="@string/activity_sample_code"。然後這將確定顯示給用戶的字符串作爲應用程序名稱。

更新:應用程序級別標籤將爲所有子元素提供默認值。如果您覆蓋活動上的標籤,則該標籤將優先。您可以再次使用intent過濾器上的標籤覆蓋該活動標籤! Android的文檔中的部分約icons and labels覆蓋了很好:

在任何情況下,在含有元素設置的圖標和標籤成爲默認圖標和標籤設置的所有容器的子元素。

對於簡單的應用程序,應用程序上的標籤就足夠了。

TL; DR:對於發射器,標籤勝是首次發現順序爲: LAUNCHER-的IntentFilter,與發射IntentFilter的活動,申請

+0

您好。上述屬性已經在清單的應用程序標籤中。 –

+0

嗨馬克。你有沒有爲你的'intent-filter'設置標籤?這將覆蓋應用程序元素中的一個集合。文檔很好地解釋了這一點。我會用鏈接更新答案。 – Patrick

+0

美麗,謝謝你:-)換句話說,如果你想製作一個應用程序,在啓動器活動很容易就可以動態調整,你只要確保你的intent-filter標籤包含android:label =「@ string/app_name「,那麼你可以隨意剪切和粘貼,並保持活動標籤不受干擾,以防止改變主意。輝煌! –

0

剛剛從你的新選擇啓動Activity刪除以下標籤:

android:label="xyz" 

刪除此標記將解決問題,是的,你可以通過只需複印件粘貼這些標籤隨時更改啓動Activity。 您也可以將此標籤添加到您的應用程序標籤。

+0

刪除名稱?我無法刪除名稱 - 它是清單中活動的必需屬性。我誤解了你嗎?關於第二點,應用程序名稱標籤已經在應用程序標籤中。 –

+0

我明白你的意思 - 我認爲你的意思是android:label而不是android:name。是的,刪除活動標籤確實可以解決問題,但更好的解決方案是可接受的答案,它實際上可以讓您將這些個人活動標籤保持原樣:-) –

+0

哦,是的,我的意思是標籤,更正 –

0

,你可以看到這link

答案是如此之大:

android:name=".ui.HomeActivity" 
    android:label="@string/title_home_activity" 
    android:icon="@drawable/icon"> 
    <intent-filter android:label="@string/app_`enter code here`name"> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 
相關問題