问题标签 [android-package-managers]

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 投票
3 回答
7451 浏览

android - 获取最近和正在运行的应用程序列表而不是进程

我尝试了很多来获取最近和正在运行的应用程序(而不是进程)的列表,但无法获得它。

我经历了有关此问题的所有 stackoverflow 问题,但我得到的唯一答案是关于正在运行的进程和最近的任务,而不是我们在三星移动任务管理器中长按主页按钮时可以看到的特定应用程序。

我可以通过以下代码获取正在运行的进程:

它给出了所有进程的包名,但我只想要我已经启动的应用程序的包名(最近和正在运行)。

如何从正在运行的应用程序进程中提取它?

0 投票
4 回答
13641 浏览

android - 删除 Activity 作为默认启动器

我将我的活动设置为默认启动器来拦截主页按钮的点击,如下所示:

当我的活动ExampleActivity启动时,如果我单击该home键,则会提示我进行选择。如果我选择将此作为默认设置并选择我的活动,我会根据需要卡在我的活动中。

问题是,当我离开活动时,我尝试从默认启动器中删除我的活动,但没有成功。

我试过了:

和:

但我对 的指定home从未被删除。

有没有人有解决上述问题的工作方法?

我只希望主页按钮不是特定活动的默认设置,而不是我的整个应用程序。当我离开活动时,它应该被删除并恢复为默认值。

0 投票
2 回答
2103 浏览

android - 检查 Facebook 是否安装在 Android 上

我该如何检查?我必须使用 PackageManager 吗?谢谢 :D

0 投票
1 回答
3276 浏览

android - 使用 PackageManager.setComponentEnabledSetting() 启用其他应用程序的 BroadcastReceiver

我想从我的应用程序启动安装在我的 android 设备上的其他应用程序的 BroadcastReceiver。这是代码

“com.example.myapp”是包含“MyBroadcastReceiver”的其他应用程序的包名

我参考了帖子中给出的答案Android PackageManager enable any application and Android - can't enable BroadcastReceiver但它们似乎都没有工作。应用程序继续抛出权限拒绝 SecurityException。给定的是logcat

0 投票
2 回答
296 浏览

android - 在我的 apk 中下载 Apk,无需用户交互

我在里面制作了一个android应用程序,现在我在“res/raw”文件夹中放置了一个apk文件,当我安装我的apk时我想要的是raw文件夹中的apk也可以安装,而无需再次单击安装按钮。如果可以通过编写我自己的包管理器或包安装程序,请建议我。

0 投票
1 回答
1641 浏览

android - 检测默认启动器,android

是否可以从您的应用程序中检测到设备上的默认启动器应用程序是什么?

我正在使用 PackageManager,但似乎看不到我在寻找什么,我希望我的启动器类型的应用程序在设置为默认启动器时表现不同,所以我试图以编程方式检测用户是否已将其设置为是否为默认启动器

无论我将什么设置为默认启动器,我在下面尝试的代码都会返回 Android 系统:

0 投票
2 回答
528 浏览

java - 具有空白类型的 Android ClassCastException

我的行为很奇怪,我想我更多的是寻找解释而不是解决方案(尽管也欢迎解决方案!)。

这是代码:

在某些情况下,我会收到以下错误日志:

java.lang.ClassCastException:无法转换为 android.content.pm.PackageInfo

报告线路:

奇怪的是,通常情况下,ClassCastException通常看起来像(AFAIK):

java.lang.ClassCastException: foo.bar.ClassA不能转换为foo.bar.ClassB

但是,我看到的错误在第一部分显示为空白。

我决定研究一下,如果返回列表的函数在内部转换错误的对象列表并返回它或其他东西,可能会发生这种情况。所以我看了看:

ApplicationPackageManager.getInstalledPackages()

好的,所以返回的列表是从ParceledListSlice.populateList()...

ParceledListSlice.populateList()

因此,该项目是从PackageInfo.CREATOR.createFromParcel()...创建的

最后creator.createFromParcelPackageInfo

所以一切似乎都很好。它正在创建 a ParceledListSliceof type PackageInfo,因此populateList它正在创建一个PackageInfo项目并将其放入 a Listof 中PackageInfo,这是返回的列表。所有类型/类对我来说似乎都很好。

所以我的问题,

  1. 上面的 ClassCastException 怎么会发生?
  2. 为什么它会显示错误消息的“空白”类型?
  3. 什么是可能的解决方案?

我正在考虑将列表作为列表Object并检查“ instanceof”,但我认为这也行不通,因为它可能最终会说

ClassCastException: cannot be cast into java.lang.Object" 什么的。

任何关于如何发生这种情况的见解和解释将不胜感激。

  1. Dalvik/JVM 只是搞砸了吗?
  2. 内存是否损坏?

我只能胡乱猜测=)

0 投票
4 回答
12132 浏览

android - PackageManager.getInstallerPackageName() 可以告诉我我的应用是从亚马逊应用商店安装的吗?

我计划在亚马逊应用商店和 Google Play 上发布我的应用程序,并且我的应用程序中有一些东西需要根据应用程序是否从亚马逊应用程序商店安装而略有不同。如果我正确理解了该PackageManager.getInstallerPackageName(String packageName)方法,它会告诉我安装我的应用程序的应用程序的名称。正确的?如果是这样,如果我的应用程序是从亚马逊应用商店安装的,有谁知道这种方法返回的值是多少?如果没有,是否有人知道我可以使用其他方法来确定我的应用程序是否是从亚马逊应用商店安装的?

注意:我知道有关 Stack Overflow 的其他问题已经得到回答,这些问题暗示使用 PackageManager.getInstallerPackageName(String packageName)来确定安装我的应用程序的应用程序的名称。但是,在搜索 Stack Overflow 和其他地方时,我无法确定如果应用程序是从亚马逊应用商店安装的,则返回 的值是多少。PackageManager.getInstallerPackageName(String packageName)

0 投票
4 回答
181 浏览

android - 如何从另一个应用程序启动一个应用程序

在我的应用程序中,我必须启动另一个应用程序,前提是它尚未启动。

要启动一个应用程序,我要做的是:

我的问题是,如果应用程序已经启动,它将把应用程序带到前面。仅当活动和已启动的应用程序中不存在时,我如何才能启动应用程序?谢谢!

0 投票
2 回答
243 浏览

android - 我怎样才能知道哪个应用程序包正在调用软键盘?

朋友们,我需要开发一个键盘,它应该有一个调用软键盘的应用程序图标。

我在这里找到了一个可能有用的链接Android 应用程序如何加载键盘?

那么我怎样才能知道哪个在调用键盘呢?还是前台活动的包名?有没有人有任何想法,我很感激并非常感谢他们。

谢谢你