プログラムでアプリケーションのショートカットをアプリドロワーに追加したり、アプリのドロワーから削除したりしようとしています。アプリドロワーは、LAUNCHERカテゴリでインテントフィルターを使用して表示する必要があるアプリケーションを認識していることを理解しています。
動的な条件に応じて、アプリケーション内の特定のアクティビティへのショートカットを追加/削除できるようにしたいので、マニフェストファイルにショートカットを含めることはできません。
ありがとうございました。
私の知る限り、これは不可能です。残念ながら、現在のAndroid APIレベルでは、コードを介してオブジェクトにIntentFilter
sを追加する方法はありません。インテントフィルターに関するこのドキュメントActivity
を確認してください。関連する引用:
インテントフィルターは、IntentFilterクラスのインスタンスです。ただし、Androidシステムは、コンポーネントを起動する前にコンポーネントの機能を認識している必要があるため、インテントフィルターは通常、Javaコードではなく、アプリケーションのマニフェストファイル(AndroidManifest.xml)に要素として設定されます。(1つの例外は、Context.registerReceiver()を呼び出すことによって動的に登録されるブロードキャストレシーバーのフィルターです。これらは、IntentFilterオブジェクトとして直接作成されます。)