android - 如何在 android 中使用不同的应用程序实现对我的应用程序的导航?

标签 android android-intent back-button

我必须在从其他应用程序(例如:NotificationBar、Call、SMS 等)导航回我的应用程序时显示一个警告框。每当用户从我的应用程序转到任何其他应用程序(如调用、短信)并返回时,我都需要执行一些代码。有什么回调吗?我怎样才能做到这一点?

最佳答案

我不知道 Android 是否支持,但您可以使用一个简单的 hack,创建一个 bool 变量并在调用 onPause 时设置它的值。当用户返回另一个应用程序时,将设置此值。然后您可以在 onResume 命令中检查此值。

但是这种方法有一个问题,如果你从当前 Activity 开始另一个 Activity ,那么那个变量将被设置。因此,无论何时您要从当前 Activity 启动 Activity ,都需要防止设置该 bool 变量(可能通过使用另一个变量)。

在代码中:

boolean backFromAnotherApp = false;
boolean activityFromMyApp = false;

public void onPause() {
    ......
    if (!activityFromMyApp)
        backFromAnotherApp = true;
    else
        activityFromMyApp = false;
}

public void onResume() {
    .....
    if (backFromAnotherApp) {
        showDialog();
        backFromAnotherApp = false;
    }
}

在您的代码中任何您想要启动新 Activity 的地方:

Intent intent = new Intent(this, AnotherActivityOfMyApp.class);
activityFromMyApp = true;
startActivity(intent);

关于android - 如何在 android 中使用不同的应用程序实现对我的应用程序的导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23470106/

相关文章:

android - 内存不足错误 : backgroud drawable - Android

android - CC在宋语里是什么意思

android - 如何在 ListView 中使用 Intent

android - 覆盖 PhoneGap Android 中的后退按钮

java - 为什么我看不到 Android 应用程序的布局?

android - 我应该如何在状态栏中显示默认的静默通知?

android - Android 内部缓存目录中的 "java.io.FileNotFoundException: Permission denied"

android - Espresso 测试中的 Mocking Intent Extras

c# - Safari 和 Chrome 修改后退按钮上的表单数据

ios - iPad SplitViewController leftViewController 是 UITableViewController 和返回按钮从上到下重绘屏幕