2017-08-05 9 views
-1

<インテントフィルタ>でユニークなURIを扱えるアプリケーションがあります。このURIはカスタムURIです。セキュリティの理由そのモバイルデバイス上の他のアプリケーションが今、私はその意図URI.entを扱うことができ、ユーザのデバイス上で(アプリケーションではない活動)どのように多くのアプリケーションを知りたい<intent-filter>インテントフィルタを扱えるアプリケーションのリスト

を経由してそれを処理できないことを必要と-filter> **

できますか?
私たちは、その後、どのように私は<インテントフィルタにURIを与え扱うことができるアプリケーション名のリストを取得することができた場合は>

答えて

1

あなたがのリストを取得することはできませんので意図は、活動レベルで定義されますアプリケーションは直接、あなたは活動のリストを取得することができます。これらのアクティビティーをパッケージ名でグループ化して、インテントを処理できる1つ以上のアクティビティーを持つアプリケーションのリストを取得することができます。このような何か:

Intent intent = new Intent(/* define you action */); 
    final List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); 
    final Set<String> packages = new HashSet<>(); 
    if (list != null) { 
     for (ResolveInfo resolveInfo : list) { 
      packages.add(resolveInfo.activityInfo.packageName); 
     } 
    } 

「パッケージ」セットが意図を扱うことができるアプリケーションを参照し、パッケージ名のリストが含まれます。

関連する問題