2011-02-01 22 views
7

ユーザの嗜好に基づいてインテントフィルタをアクティビティから削除することはできますか?ダイヤルインテントフィルタが追加されたとしたら、後でユーザがダイヤルを処理しないと判断したとします。アンドロイドでインテントフィルタをプログラムで追加または削除するにはどうすればよいですか?

編集:質問の説明

+0

アクティビティを無効にする方法があります。インテントフィルタを削除するのは完璧ではないかもしれませんが、それはあなたの質問を理解する方法です。 http://stackoverflow.com/a/14142215/1186358 – Kislingk

答えて

2

で 削除、追加部品いいえ、彼らが静的であると思われます。

インテントフィルタは、IntentFilterクラスのインスタンスです。しかし、Androidシステムはコンポーネントを起動する前にコンポーネントの機能を知っている必要があるため、インテントフィルタは一般にJavaコードではなく、アプリケーションのマニフェストファイル(AndroidManifest.xml)に要素として設定されます。

出典:http://developer.android.com/guide/topics/intents/intents-filters.html#ifs

+1

参照のための高尚ですが、私は "一般的に設定されていない"部分で不思議でした。私たちは、パッケージマネージャから着脱できますか?万一 – dhaval

1

は、私は多分あなたはパッケージマネージャを経由して有効/無効にすることができると思ったが、PackageManagerにGET_INTENT_FILTERSフラグを持っているにもかかわらず、それはサポートされていないようです。

欠陥が発生しましたhere、およびディスカッションhere

関連する問題