【Android】なぜかランチャーにアイコンが表示されない
<intent-filter> <action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="appname" android:host="data" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> |
MAIN と LAUNCHERはもちろん指定済み。
なぜかランチャーにアイコンが表示されない。
Android - 作成したアプリを端末へインストール後 開く が選択できない場合 - Qiita
AndroidManifest.xmlでActivityに対してintent-filterを設定し 起動直後のActivityを設定しますが、その際android.intent.action.MAINとandroid.intent.category.LAUNCHERだけは独立させる必要があります。 |
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE"/> <data android:scheme="appname" android:host="data" /> </intent-filter> |
つまり、こうしないとダメだったらしい ・ω・
なんでだろう?
4. インテントとインテントフィルタ - ソフトウェア技術ドキュメントを勝手に翻訳
このフィルタで DEFAULT カテゴリが提供されている点にも注目してください。ここにあるのは、Context.startActivity() と Activity.startActivityForResult() メソッドがすべてのインテントを DEFAULT カテゴリを含んでいるかのように振る舞うことがその理由です。但し、以下の例外がふたつだけあります。
・明示的にターゲットアクティビティを指名するインテント したがって、DEFAULT カテゴリはMAIN アクションと LAUNCHER カテゴリを含めたフィルタを除くすべてのフィルタで 必須 です ( インテントフィルタは明示インテントでは調査されません ) 。 |
こういうことらしい。 覚えた
Android – 作成したアプリを端末へインストール後 開く が選択できない場合 – Qiita
へのリンクがおかすぃです
//qiita.com/mmurasawa/items/fa712be120be872cadda