问题标签 [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.
android - 如何获取用户在 Android 设备上安装的应用程序列表?
我目前正在使用以下代码:
但它会返回设备制造商和我都安装的应用程序。如何限制它只返回我安装的应用程序?
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 应用程序中工作。还有其他建议吗?
android - 如何查找我的 Android 设备上是否存在特定包?
如何查找特定的包或应用程序,例如:com.android.abc
,是否存在于我的 Android 设备上?
android - 如何在android中获取已安装的应用程序名称?
我做了一个小方法来在android中显示已安装的应用程序名称。但是当我给出“名称”属性时,它会显示异常错误。当我给出“packageName”时,该方法会完美执行并在列表中显示包名
在上面的代码中,当我给String appname=pk.packageName.toString()
它工作正常但是当我给String appname=pk.name.toString()
程序时抛出异常错误。请帮我解决问题。
android - 如何在不使用 PackageManager 的情况下阅读 Android Manifest?
我正在开发一个 Android 应用程序,该应用程序需要的信息多于PackageManager
(例如意图过滤器)中可用的信息。我创建了一个解析器来读取 AndroidManifest 文件,但我找不到AndroidManifest.xml
任何已安装应用程序的位置。我正在使用的代码是:
根据文档,ApplicationInfo.publicSourceDir是:
此包的公开可用部分(即主要资源包和清单)的位置的完整路径。对于非前向锁定的应用程序,这将与 {@link #sourceDir) 相同。
我做错了什么,或者我怎么能做对?
android - 如何让我的应用成为系统应用?
我想让我的应用程序以编程方式成为系统应用程序。我设法用root和busybox在我的手机上做到了。知道如何在没有busybox的情况下实现这一目标吗?
除此之外,我还面临另一个问题。如果我从系统应用程序>用户应用程序切换回我的应用程序并重新启动。即使应用程序已经驻留在 /data/app 中,Android 系统仍将我的应用程序识别为系统应用程序。
我使用下面的代码来检查我的应用程序是否是系统应用程序:
android - 如何检查应用程序是否是 Android 中的非系统应用程序?
我正在使用packageManager.getInstalledApplications(0)ApplicationInfo
获取对象列表,并尝试通过它们是否是系统应用程序来对它们进行分类。
一段时间以来,我一直在使用此处描述的技术,但是在我的应用程序中看到该技术后,一些应用程序不在非系统应用程序列表中(例如Facebook,它在可用时要求系统自行安装在 SD 上卡片)。在接下来阅读ApplicationInfo.FLAG_SYSTEM的实际文档并了解它实际上并没有过滤系统应用程序之后,我现在正在寻找一种新方法。
我的猜测是,系统和非系统应用程序的 UID 之间存在很大差距,我可以收集这些应用程序来做出这种区分,但到目前为止我还没有找到答案。我还研究了其他标志,例如ApplicationInfo.FLAG_EXTERNAL_STORAGE
,但是我支持 API 1.5。
有没有人对此有真正的解决方案(不涉及FLAG_SYSTEM
)?
cordova - 如何使用 Phonegap for Android 调用远程 API?
如何使用 Phonegap 在 Android 应用程序中进行远程 API 调用???
android - ApplicationInfo.java 到 Gridview
我希望用户最近使用的应用程序显示在 GridView 中。到目前为止,我知道我需要包括这个:http: //developer.android.com/resources/samples/Home/src/com/example/android/home/ApplicationInfo.html
我在 main.xml 中有 GridView 设置:
但是我将如何在该空间中加载应用程序?
android - 如何阻止 Android 应用程序使用权限
如果应用程序具有“android.permission.CAMERA”,并且我希望我的应用程序在尝试访问相机硬件时阻止使用此权限,“出于安全原因”,我该如何阻止该过程?
*注意:假设我的应用程序具有所有权限...