java - 检查通话中断 - Android Lollipop

标签 java android call android-5.0-lollipop interrupt

我在 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/

相关文章:

java - 如何使用 Resultset 更新 JDBC 中的值

android - 如何将 CheckBox 添加到 Android 中的任何 ListView 项目?

call - JSLint 坚持 "Unexpected ' 调用'"

jquery - 如何在移动Web应用程序中使用asp.net制作手机的通话功能

Scala - 中缀与点表示法

java - 当使用 lambda 并抛出覆盖异常时,“覆盖方法不会抛出异常”

Windows 上的 Java RS-232 通信

java - Spring Data JpaRepositories 的 LazyInitializationException

android - 当我尝试使用 Gson 从 Json 获取 responseObj 时出现错误。致命异常 : OkHttp Dispatcher NumberFormatException: Invalid double: ""

android - Google Map V2 中的错误 java.lang.ClassNotFoundException : com. google.android.gms.maps.MapFragment