我正在尝试检测何时安装新应用程序,但前提是我的应用程序正在运行。我设法通过制作 BroadcastReceiver 并在 AndroidManifest 文件中激活它来检测应用程序的安装,但这会检测到即使我的应用程序已关闭。所以这就是为什么我需要手动激活和停用 broadcastreveiver。为此,我有以下代码:
br = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.i("Enter", "Enters here");
Toast.makeText(context, "App Installed!!!!.", Toast.LENGTH_LONG).show();
}
};
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
intentFilter.addAction(Intent.ACTION_PACKAGE_INSTALL);
registerReceiver(br, intentFilter);
这应该在安装新应用程序时祝酒。但遗憾的是它没有。它不进入 onReceive 方法。任何帮助表示赞赏。
原文由 Petre Popescu 发布,翻译遵循 CC BY-SA 4.0 许可协议
我试图在清单文件或 Java 代码中注册
BroadcastReceiver
。但是这两种方法都未能触发onReceive()
方法。谷歌搜索这个问题后,我从 SO 中的另一个线程找到了这两种方法的解决方案: Android Notification App在清单文件中( 此方法自 API 26 (Android 8) 起不再适用,它会导致早期 Android 版本出现性能问题):
在java代码中:
这应该适合你。