我不知道之前是否有过这样的任务,试图搜索并一无所获。
如果包含特定的intent过滤器,可以通过查看它的清单来搜索和显示已安装的包吗?
Ex:我想在其清单
上显示包含自定义Intent Filter的已安装软件包<intent-filter>
<action android:name="com.example.one" />
</intent-filter>
作为示例,如果应用程序存在,我想在textview上创建“Application Exist”文本
if (...//checking if application exist or not) {
textview.setText("Application Exist");
}
else {
...
}
答案 0 :(得分:2)
因此,您可以使用正确的过滤器匹配鉴别器来创建意图。
Intent intent = new Intent("my_awesome.package.hasa.custom.ACTION!");
intent.addCategory("typingisfunfunfun");
intent.setData(Uri.parse("data://foo/bar"));
PackageManager pm = getPackageManager();
List<ResolveInfo> resolveInfos = pm.queryIntentActivities(intent, PackageManager.GET_RESOLVED_FILTER);
if(resolveInfo.isEmpty()) {
Log.i("NoneResolved", "No Activities");
} else {
Log.i("Resolved!", "There are activities" + resolveInfos);
}