Android でクールなホーム アプリケーションを作成しています。
これはホーム アプリなので、ランチャーのすべてのアプリケーションのリストに彼女を表示させたくありません。
それはとても簡単ですが、今度はこのアプリケーションの設定を表示させたいと思います。したがって、マニフェストでこの方法でアプリケーションの設定を作成しました。
<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);
}
}