Android Instant App,创建已安装应用程序的列表

时间:2018-11-07 19:04:42

标签: android

我使用packagemanager获取应用程序列表

 final PackageManager pm = getPackageManager();
 List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);

现在,我想创建一个即时应用程序来执行相同操作。事实证明,即时应用程序的权限与普通应用程序的权限不同。

获得包裹清单的权限是什么? 是否可以请求在即时应用程序内部获取getInstalledApplications所需的权限?

我想获得更多,然后获得带有标志“ android:visibleToInstantApps”的应用,例如“ How to list installed apps from instant app?

更新:

Intent intent = this_pm.getLaunchIntentForPackage("package name");

总是为我的即时应用返回null,似乎我无权启动其他应用。

更新:

我能够遍历“ shareIntent”应用程序并提取一些已安装的软件包名称。它不会提供正常的程序包名称(更像是xxx.xxx.xxx.shareName,它不是“ shareIntent”的预期用途,但要检查是否已安装某个应用程序就足够了。

    Intent shareIntent = new Intent( android.content.Intent.ACTION_SEND );
    shareIntent.setType( "text/plain" );
    shareIntent.putExtra( android.content.Intent.EXTRA_TEXT, message );
    List<ResolveInfo> activityList = this_pm.queryIntentActivities( shareIntent, 0 );
    ArrayList<String> share_apps = new  ArrayList<String>();


    for ( final ResolveInfo app : activityList )
    {
        String share_intent_name = app.activityInfo.name;
    }

0 个答案:

没有答案