java - 应用程序是否打开是否可以广播

标签 java android android-intent

我想知道用户是否打开了诸如whatsapp或youtube之类的应用程序。查看logcat,我可以看到当whatspp的 Activity 打开时 - 以下

com.whatsapp.intent.action.CHATS

Intent 操作已打开。我正在寻找一种记录此信息的方法 - 这样我就可以运行一种算法来建议在给定时间点将打开应用程序的哪个页面

最佳答案

有一些广播需要在系统中显式注册(注解为您无法通过 list 中声明的​​组件接收此广播,只能通过使用 Context.registerReceiver() 显式注册来接收。)。

对于安装后运行代码的应用程序来说,最重要的是:

ACTION_USER_PRESENT:设备唤醒后用户在场时发送(例如,当键盘保护装置消失时)。 ACTION_SCREEN_ON:广播操作:当设备唤醒并变为交互式时发送。 ACTION_SCREEN_OFF:广播操作:当设备进入休眠状态并变为非交互式时发送。 ACTION_MY_PACKAGE_REPLACED:您的应用程序的新版本已安装在现有版本的基础上。这只发送到被替换的应用程序。它不包含任何附加数据;要接收它,只需使用 Intent 过滤器来执行此操作。 ACTION_HEADSET_PLUG:有线耳机已插入或拔出。与 ACTION_HEADSET_PLUG 相同,请参阅值和文档。 ACTION_DATE_CHANGED:日期已更改。

关于java - 应用程序是否打开是否可以广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62236812/

相关文章:

android - 如何检查默认邮件客户端

java - 我将如何去做这件事——也许是进程树?

Java tcp 套接字没有正确接收

java - 使用 FileProvider 处理 XML 文件的数据

android - 如何为具有许多依赖项的 AAR 生成 Xamarin 绑定(bind)?

java - 无法从外部存储打开文件以通过蓝牙共享

java - 查找最大元素时线程 "main"java.lang.ArrayIndexOutOfBoundsException 中出现异常

java - 如何修复liferay的 'java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver'

Android - 检测手机解锁事件,而不是屏幕开启

java - Android - 将图像附加到电子邮件