获取包中所有意图的列表

时间:2012-09-06 10:44:50

标签: android android-intent

对于一个项目,我想启动一个将安装在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中挖掘数据有任何见解?

0 个答案:

没有答案