问题标签 [activity-manager]

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 投票
0 回答
310 浏览

android - kitkat 4.4 上的 onPause() 方法问题

我的应用程序包含锁定屏幕,当应用程序从后台带来时会出现。

我面临一个问题,特别是从 kitkat 4.4 开始。

当应用程序进入后台时,我正在检查应用程序是否在后台运行?在 onPause() 活动方法中,通过以下代码位于前台。

我在 onPause() 中调用上述方法,并根据返回值决定显示锁定屏幕。

根据我的观察,此方法在 4.4 操作系统以下返回 true,但在 4.4 时返回 false。

如果我在 onStop() 方法中进行调用,我在所有情况下都是正确的。

我想知道 kitkat 在活动生命周期的背景下发生了什么变化?

需要知道它在 kitkat 中表现不同的原因吗?

0 投票
1 回答
411 浏览

android - 查找进程是否属于Android中的前台应用程序与后台服务

我想知道Android中的进程是否属于用户正在积极控制的应用程序,或者它是否是在没​​有用户交互的情况下运行的后台服务?

由于我在谈论进程,因此我目前正在尝试从 ActivityManagerService.java 中的进程列表中获取数据。mLruProcesses 包含 ProcessRecords 的列表。那么标志 ProcessRecord.setIsForeground 是确定进程行为(即,前景与背景)的正确标志吗?或者是否有其他地方可以获取此信息。

谢谢

0 投票
1 回答
2315 浏览

android - 如何杀死另一个用户的后台进程?

我无法使用ActivityManager.killBackgroundProcesses杀死另一个用户的后台进程。

使用的代码是:

其中com.example.sample是我要删除的后台进程的包。

完成后,该进程仍在后台运行。

0 投票
0 回答
79 浏览

java - 应用程序崩溃没有任何错误

我有 2 类电话和 dialpad.java。在电话类中,当您单击这些行时,我有 5 行 dialpad.java 类将打开。我想在单个选项卡中运行 multiActivities,例如

我有主页选项卡,在主页选项卡中,当我单击主页选项卡中显示拨号盘活动的线路时会显示电话活动,因此我使用 ActivityGroup 来执行此操作。但我面临的问题是当拨号活动打开并且我选择另一个选项卡程序关闭,没有任何显示 logcat 错误。

请帮我解决这个问题

0 投票
2 回答
2492 浏览

android - am start 找不到清单中列出的主要活动

我正在尝试通过 adb shell 为一个应用程序(我没有写,以防你想知道)启动一个活动。清单有以下几行:

我试过使用命令

每个人都给我错误:

但是,当单击模拟器中的应用程序图标时,它确实有效,并且通过 grepping logcat 输出,我发现正在启动的活动被称为.MainActivity$mainActivitor .MainActivity,它们都显示在输出中。有人可以告诉我为什么am start不工作以及如何在不手动单击图标的情况下启动此活动吗?

更新: laalto 给出的解决方案几乎是正确的。事实证明,将其$解析为环境变量是一个问题,但是他建议的命令并没有完全做到这一点。<pkgname/activityname>除了转义之外,您还需要在 to 周围加上单引号$

0 投票
0 回答
356 浏览

android - 如何创建一个监听器来检测哪个 Activity 在前台?

我创建了一个创建聊天头的服务(如 Facebook Messenger)。

但是,我希望它有一个监听器,总是检查哪个活动或应用程序在前台。

这是我的代码-

使用 ActivityManager,它在创建时确实有效。但我猜,既然是在 OnCreate 方法中,那么它只有在创建时才获取前台活动。

我需要的是有一个监听器来检测前台的活动是否是一些特定的活动(比如在这种情况下,Whatsapp)。

我怎么做?

谢谢

0 投票
0 回答
1018 浏览

java - android.view.WindowManager$BadTokenException: 无法添加窗口 -- 令牌 android.app.LocalActivityManager$LocalActivityRecord

我有两个类 phone.java 和 dialpad.java 在电话类中有 5 行,当我单击这些行时,拨号盘活动已打开。这些类在一个选项卡中,所以我使用 ActivityGroup。在拨号盘中有一个转移按钮,当您单击转移按钮时,对话框将打开并加入行。我面临的问题是当我单击转移按钮时,应用程序崩溃并显示这个错误..

帮我解决这个问题。

拨号盘.java

0 投票
7 回答
60583 浏览

android - 如何使用 UsageStatsManager?

背景

Google 已弃用getRecentTasks“ActivityManager”类的“”功能。现在它所做的就是获取当前应用程序已打开的应用程序列表。

我什至在 StackOverflow 上写过一篇关于它的文章,但我注意到这是不可能的。

问题

我已经发表了一篇关于它的帖子(这里和另一个由其他人创建的类似的帖子,这里)并要求重新考虑它,谷歌决定创建一个新类,它似乎提供了类似的功能(更像统计,但也可能有用),但我不知道如何使用它。

该类被称为“ UsageStatsManager”,我的猜测是函数“ queryUsageStats”完成了这项工作。

此外,它似乎有一个新权限(“ android.permission.PACKAGE_USAGE_STATS”),这是一个系统权限,但它写的是:

声明权限意味着使用 API 的意图,并且设备的用户可以通过设置应用程序授予权限。

这是有关此新功能的另一个链接。

我发现了什么

我查看了 Android 的代码,并注意到“上下文”有 USAGE_STATS_SERVICE ,在 JavaDocs 中说下一件事:

奇怪的是,它不仅说“ status bar”,而且 packageName 也不匹配(应该是“ android.app.usage.UsageStatsManager”)。

我还添加了正确的权限:

这是我使用的代码:

在模拟器本身中,我去了 " Settings"->"security"->"apps with usage access" ,并启用了我的应用程序。

但是,在运行代码时,我得到的只是一个空列表......

问题

你怎么用UsageStatsManager

另外,您如何让用户以最简单的方式授予权限?还是在应用程序尝试获取所需信息时自动完成?

尝试使用此类但用户尚未确认时会发生什么?

如何让代码返回给我一个真实的应用列表?

0 投票
3 回答
4321 浏览

java - 如何获取 Android L 的运行包名称

所以我们都知道 ActivityManager 上的 getRecentTasks() 和 getRunningTasks() 现在已被弃用,并且会在 Android L 及更高版本的设备上返回缩减的结果集。

Android L 中 getRunningTasks 的替代方案

https://code.google.com/p/android-developer-preview/issues/detail?id=29

但是,我正在尝试找到一种解决方案,以使我的 App Locker 应用程序在 Android L 上保持活动状态。我需要顶部 Activity 的包名称,以便在用户打开/启动锁定的应用程序时显示锁定屏幕。

它与这个应用程序非常相似:https: //play.google.com/store/apps/details?id=com.domobile.applock&hl=en

目前我正在使用这段代码:

但它在 Android L 中不起作用,所以我不确定到底该怎么做......

我怎样才能在 Android L 中实现这样的东西?

0 投票
1 回答
324 浏览

android - Android 从活动堆栈中获取第二个活动

我在应用程序中运行了三个活动。

现在,我正在使用 SINGLE_TASK,所以所有活动都在堆栈中。

活动的安排是这样的。

现在,我想检查 我的 SecondActivity 是否正在运行? 我该如何检查?

我使用了下面的东西,但它只**RunningInfoClass**.

我暂时不保存任何活动堆栈。我需要做吗?