Android アプリケーションがどのように起動されているかを検出する方法はありますか? BOOT によるか、アプリケーション リストからアプリケーションを起動するユーザーによるか。
起動時にアプリケーションが起動されたときに、アクティビティをまったく表示したくありません。ユーザーがアプリケーション リストから具体的に起動したときにのみ、メイン アクティビティを表示したいと思います。起動がユーザー起動かシステム起動起動かを検出できれば、これを制御できるかもしれません。
Android アプリケーションがどのように起動されているかを検出する方法はありますか? BOOT によるか、アプリケーション リストからアプリケーションを起動するユーザーによるか。
起動時にアプリケーションが起動されたときに、アクティビティをまったく表示したくありません。ユーザーがアプリケーション リストから具体的に起動したときにのみ、メイン アクティビティを表示したいと思います。起動がユーザー起動かシステム起動起動かを検出できれば、これを制御できるかもしれません。
探しているのは、アプリケーションを開始したインテントです。Androidプロジェクトのマニフェストファイルで、どのインテントがどのアクティビティを起動するかを指定できます。Intentのドキュメントページには、実際には、この機能の使用方法について、サンプルコードとすべてを含む完全な説明があります。
http://developer.android.com/reference/android/content/Intent.html
ユーザーがランチャーからアプリケーションを選択したときに呼び出されるインテントは、次のようになります。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
電話の起動時に別のアクティビティを起動する場合(インテントフィルター値 "android.intent.action.BOOT_COMPLETED"があります)、マニフェストのアクティビティのタグに別のIntentFilterを追加するだけです。