我在 onPause
中使用以下代码来检查应用程序中的通话中断
//called inside ONPAUSE i.e. whenever my app is interrupted
ActivityManager activityManager = (ActivityManager)getBaseContext().getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> runningTasks = activityManager.getRunningTasks(Integer.MAX_VALUE);
String packageLaunched = runningTasks.get(0).baseActivity.getPackageName();
// see package name of app which interrupted my app
if (!packageLaunched.contains("package.name.of.my.app")) {
// do whatever when any other app interrups, as its on top.
}
问题是,
packageLaunched 用于在以前版本的 Android 上调用中断我的应用程序时进行更改。
但在 android Lollipop 上调用不在任何正在运行的任务中:/
如何跟踪来自 Android 应用程序的来电?
最佳答案
为传入调用 Intent 注册一个 BroadCastReciever
并在 onRecieveIntent
中执行。虽然只是一种解决方法,但在所有情况和所有操作系统版本中都可以解决问题。
关于java - 检查通话中断 - Android Lollipop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29513427/