因为这是一个家庭应用程序,我不希望她出现在发射器,在所有应用程序的列表。
<activity android:name=".Preferences" android:label="@string/application_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
这工作得很好,我有一个额外的图标在发射!
唯一的问题是当我点击图标时什么也没发生。因此,我可以从应用程序中启动我的首选项:
final Intent preferences = new Intent(Launcher.this,Preferences.class);
menu.add(0, MENU_PREFERENCES, 0, R.string.application_name).setIcon(
R.drawable.ic_menu_preferences).setAlphabeticShortcut('F').setIntent(
preferences);
那么,为什么在发射器中的快捷方式是完全无用的,不发射任何东西?
当我从应用程序内部启动时记录(启动首选项,工作完美):
08-25 13:13:03.009: INFO/ActivityManager(63): Starting activity: Intent { cmp=com.myapp.home/.Preferences }
当我从发射器发射时(
):
08-25 13:13:45.489: INFO/ActivityManager(63): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.myapp.home/.Preferences }
public class Preferences extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
}