问题标签 [android-applicationinfo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
22032 浏览

android - 如何获取用户在 Android 设备上安装的应用程序列表?

我目前正在使用以下代码:

但它会返回设备制造商和我都安装的应用程序。如何限制它只返回我安装的应用程序?

0 投票
2 回答
16304 浏览

android - 从包管理器中检索应用程序信息

有没有办法从 PackageManager 中提取 ApplicationInfo 对象?我尝试了许多不同类型的方法来实现这一点,但无济于事。我目前正在使用默认的 android 启动器屏幕(应用程序抽屉),并希望专门从包名称中获取包信息。这不是在应用程序层,而是在Launcher2 应用程序的构建层,即源。我正在使用的 android 版本是 2.3.3 。

这是我尝试过的:

错误:

这不是用于检索当前正在运行的包,而是用于检索手机本身上的所有应用程序。

我找到:

不返回与传递到 AllApps2D.java 中以下函数的 ApplicationInfo 相同的 ApplicationInfo 对象:

我正在尝试仅使用名称从包本身中提取 ApplicationInfo 对象。

有问题的函数如下所示,在 AllApps2D.java(Launcher2 文件夹)的开源代码中找到

更新

基本上我想做的是用自定义顺序重新排列启动器中的图标排列。如果我可以通过 PackageManager 检索必要的信息,那将是理想的。

为了使我实现的工作正常,我必须能够提取 AllApps2D 代码正在使用的SAME ApplicationInfo 对象,这显然是:

com.android.Launcher2.ApplicationInfo

这与返回的内容不同:

ApplicationInfo item = pack.getApplicationInfo(package_list.get(i), PackageManager.GET_ACTIVITIES);

这是:

android.content.pm.ApplicationInfo

可用于启动器的代码和我正在使用的类可在此处找到。

这些技术都不能在 android 构建中的 launcher2 应用程序中工作。还有其他建议吗?

0 投票
9 回答
48976 浏览

android - 如何查找我的 Android 设备上是否存在特定包?

如何查找特定的包或应用程序,例如:com.android.abc,是否存在于我的 Android 设备上?

0 投票
2 回答
10208 浏览

android - 如何在android中获取已安装的应用程序名称?

我做了一个小方法来在android中显示已安装的应用程序名称。但是当我给出“名称”属性时,它会显示异常错误。当我给出“packageName”时,该方法会完美执行并在列表中显示包名

在上面的代码中,当我给String appname=pk.packageName.toString()它工作正常但是当我给String appname=pk.name.toString()程序时抛出异常错误。请帮我解决问题。

0 投票
3 回答
2105 浏览

android - 如何在不使用 PackageManager 的情况下阅读 Android Manifest?

我正在开发一个 Android 应用程序,该应用程序需要的信息多于PackageManager(例如意图过滤器)中可用的信息。我创建了一个解析器来读取 AndroidManifest 文件,但我找不到AndroidManifest.xml任何已安装应用程序的位置。我正在使用的代码是:

根据文档,ApplicationInfo.publicSourceDir是:

此包的公开可用部分(即主要资源包和清单)的位置的完整路径。对于非前向锁定的应用程序,这将与 {@link #sourceDir) 相同。

我做错了什么,或者我怎么能做对?

0 投票
1 回答
7486 浏览

android - 如何让我的应用成为系统应用?

我想让我的应用程序以编程方式成为系统应用程序。我设法用root和busybox在我的手机上做到了。知道如何在没有busybox的情况下实现这一目标吗?

除此之外,我还面临另一个问题。如果我从系统应用程序>用户应用程序切换回我的应用程序并重新启动。即使应用程序已经驻留在 /data/app 中,Android 系统仍将我的应用程序识别为系统应用程序。

我使用下面的代码来检查我的应用程序是否是系统应用程序:

0 投票
14 回答
45121 浏览

android - 如何检查应用程序是否是 Android 中的非系统应用程序?

我正在使用packageManager.getInstalledApplications(0)ApplicationInfo获取对象列表,并尝试通过它们是否是系统应用程序来对它们进行分类。

一段时间以来,我一直在使用此处描述的技术,但是在我的应用程序中看到该技术后,一些应用程序不在非系统应用程序列表中(例如Facebook,它在可用时要求系统自行安装在 SD 上卡片)。在接下来阅读ApplicationInfo.FLAG_SYSTEM的实际文档并了解它实际上并没有过滤系统应用程序之后,我现在正在寻找一种新方法。

我的猜测是,系统和非系统应用程序的 UID 之间存在很大差距,我可以收集这些应用程序来做出这种区分,但到目前为止我还没有找到答案。我还研究了其他标志,例如ApplicationInfo.FLAG_EXTERNAL_STORAGE,但是我支持 API 1.5。

有没有人对此有真正的解决方案(不涉及FLAG_SYSTEM)?

0 投票
2 回答
12915 浏览

cordova - 如何使用 Phonegap for Android 调用远程 API?

如何使用 Phonegap 在 Android 应用程序中进行远程 API 调用???

0 投票
1 回答
86 浏览

android - ApplicationInfo.java 到 Gridview

我希望用户最近使用的应用程序显示在 GridView 中。到目前为止,我知道我需要包括这个:http: //developer.android.com/resources/samples/Home/src/com/example/android/home/ApplicationInfo.html

我在 main.xml 中有 GridView 设置:

但是我将如何在该空间中加载应用程序?

0 投票
3 回答
8643 浏览

android - 如何阻止 Android 应用程序使用权限

如果应用程序具有“android.permission.CAMERA”,并且我希望我的应用程序在尝试访问相机硬件时阻止使用此权限,“出于安全原因”,我该如何阻止该过程?

*注意:假设我的应用程序具有所有权限...