Android 如何创建指向已安装用户应用程序的链接

Android 如何创建指向已安装用户应用程序的链接,android,Android,在我的小部件中,当小部件打开时,我希望它打开一个新页面,显示指向已安装应用程序的用户的链接。用户必须能够根据需要添加和删除链接,并且如果从用户设备中删除该应用程序,链接将被更新。我已经在我的小部件中创建了打开新类的功能,但我不知道如何链接到用户应用程序。我怎样才能做到这一点?您必须获取应用程序的活动并将其与URI链接 例如: Uri.parse("market://details?id=" + facebookpackagename); 将从应用程序中加载Facebook应用程序 请尝试以下代

在我的小部件中,当小部件打开时,我希望它打开一个新页面,显示指向已安装应用程序的用户的链接。用户必须能够根据需要添加和删除链接,并且如果从用户设备中删除该应用程序,链接将被更新。我已经在我的小部件中创建了打开新类的功能,但我不知道如何链接到用户应用程序。我怎样才能做到这一点?

您必须获取应用程序的活动并将其与URI链接

例如:

Uri.parse("market://details?id=" + facebookpackagename);
将从应用程序中加载Facebook应用程序

请尝试以下代码:

PackageManager pm = getPackageManager();
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
for(ApplicationInfo packageInfo:packages){
    if( pm.getLaunchIntentForPackage(packageInfo.packageName) != null ){
                String currAppName = pm.getApplicationLabel(packageInfo).toString();
               //This app is a non-system app
    }
    else{
        //System App
    }
}
PackageManager pm=getPackageManager();
List packages=pm.getinstalledApplication(PackageManager.GET_元数据);
对于(ApplicationInfo packageInfo:packages){
if(pm.getLaunchIntentForPackage(packageInfo.packageName)!=null){
字符串currAppName=pm.getApplicationLabel(packageInfo.toString();
//此应用程序是非系统应用程序
}
否则{
//系统应用程序
}
}

有没有办法自动收集设备上应用程序的所有活动,然后将其链接到URI?我知道使用PackageManager是我收集用户应用程序列表的方式,但接下来我将如何着手?我是新来的,如果我要求太多,我很抱歉。如果有必要的话,我会在稍后开始一个新问题。我已经对URI做了一些研究,并对它有一点了解,但如果我能很快澄清,我会尝试一下。所以基本上,在我的Uri.parse中,我会指出包在用户设备上的位置,然后我会从那里去哪里?我用一个例子更新了我的答案。希望它能帮助您找到解决方案。你的要求并不过分。我很高兴能帮助你。