- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
对于手机上安装的所有应用程序,我需要访问:
我查看了 ApplicationInfo,但它似乎没有向我提供此信息。我听说过 PackageInfo 和 ResolveInfo,但是我很困惑它们之间有什么区别,应该在哪里使用哪一个?最后,我可以使用什么来查找有关已安装应用程序的上述三个详细信息?
对于包名,我得到像 com.something.some 这样的东西
这是我用来获取应用程序的代码:
final PackageManager pm = getPackageManager();
ArrayList<ApplicationData> listAppData = new ArrayList<ApplicationData>();
//get a list of installed apps.
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo packageInfo : packages) {
listAppData.add(new ApplicationData(packageInfo));
}
ApplicationData 是我自己的类,我从 packageInfo 中提取信息
最佳答案
此函数将返回包含图标、名称和包的应用程序列表。
有了这个包,你可以构建 url:
https://play.google.com/store/apps/details?id= <PACKAGE>
参见:
public class Application {
private String packageName;
private String name;
private Drawable icon;
private boolean checked;
...
private List<Application> getAllApplications(Context context)
throws NameNotFoundException {
PackageManager packageManager = context.getPackageManager();
List<PackageInfo> packages = packageManager.getInstalledPackages(0);
List<Application> myPackages = new ArrayList<Application>();
for (PackageInfo pack : packages) {
if (pack.versionName == null) {
continue;
}
Application newPack = new Application();
newPack.setPackageName(pack.packageName);
newPack.setName(pack.applicationInfo.loadLabel(packageManager)
.toString());
newPack.setIcon(pack.applicationInfo.loadIcon(packageManager));
myPackages.add(newPack);
}
return myPackages;
}
关于android - ApplicationInfo 与 PackageInfo 与 ResolveInfo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20490022/
我在res / drawable文件夹中有一些图像。现在需要将图像存储在列表中。 我尝试这样做 ArrayList myImageList = new ArrayList<>(); myImageLi
我正在尝试获取与扩展关联的默认程序的图标。 这是我的代码: Intent intent = new Intent(Intent.ACTION_VIEW); MimeTypeMap mime = Mim
在我的主屏幕替换应用程序中,我必须获取所有已安装应用程序的列表才能将它们放入应用程序抽屉中。因此,以下方法会在每个应用程序上运行; public static App fromResolveInfo
我正在创建手机上安装的应用程序列表。我正在使用 PackageManager 和 ResolveInfo 检索所有已安装的应用程序。由于内存问题,我使用 getIconResource() 而不是 l
我正在尝试为 android 制作一个自定义启动器,并且我正在尝试弄清楚如何启动一个不同的应用程序表单。我认为这样做的方法是 Intent ,我在这里找到了一个帖子: Open another app
我有一个列表,其中包含可以处理我的两个操作 Intent.ACTION_PICK 和 MediaStore.ACTION_IMAGE_CAPTURE 中的任何一个的应用程序。稍后我使用数组适配器使用此
对于手机上安装的所有应用程序,我需要访问: 姓名 图标 可以安装应用程序的 google play url 我查看了 ApplicationInfo,但它似乎没有向我提供此信息。我听说过 Packag
我想将我的 Activity (com.myapp.launcher.settings) 添加到一个空的 ArrayList。 ArrayList selectedApps = new Arr
实际上,我正在尝试将一个项目从 ArrayList a (allApps) 添加到 ArrayList b (myApps),但出现错误。 这就是我正在尝试的: public ArrayList my
我正在尝试显示所有已安装的应用程序及其图标。单击列表项后,我将显示与该应用程序相关的记录。 应用程序和图标显示正常,但是当我单击列表项时出现以下错误。java.lang.classcastExcept
自从更新我的依赖项以来,我的 django 应用程序遇到了一些问题。这是我安装的应用程序: INSTALLED_APPS = [ 'graphene_django', 'rest_fr
我是一名优秀的程序员,十分优秀!