对于一个项目,我想启动一个将安装在Android平板电脑上的特定应用程序。 它不是我们可以控制的应用程序(它完全是第三方),我需要一个类似于Image_Capture Camera Intent工作方式的工作流程(即启动它,等待它完成并接收onActivityResult函数中的数据) ) 虽然我可以使用以下代码启动应用程序:
Intent intent = this.getPackageManager().getLaunchIntentForPackage("my.thirdparty.package");
if(intent != null) {
startActivityForResult(intent,MY_INT_FLAG);
} else {
new AlertDialog.Builder(this).setMessage("This device does not appear to have the application installed").setPositiveButton("Okay",null).create().show();
}
它会立即将 0(RESULT_CANCELLED)的resultCode传递给onActivityResult ,因为它只是启动应用程序。
我想要的是能够发现给定包的意图列表。 PackageManager中有一个名为 getInstalledApplications 的函数(这是我首先获得软件包名称的方式)但是,标志 PackageManager.GET_INTENT_FILTERS 似乎没有填充任何结果 ApplicationInfo 对象的metaData属性。
有没有人对获取意图列表或从APK中挖掘数据有任何见解?