在 android 中 - 如何在有人关闭应用程序时启动 activity?

In android - how to I make an activity launch when someone closes an app?

我想在我的应用程序中添加一个 activity 要求用户对其进行评分,但我宁愿只在他们使用后退按钮退出应用程序时启动它(这样它不会影响实用性)。 我有一些应用程序,如果我通过反复点击后退按钮退出,我会得到一个提示 'Tap back to exit ______' 所以我很确定这是可能的。

您可以开始另一个 activity 使用 intent on your onBackPressed method. With this approach you can fire an intent to google play. But i think it would be frustrating for user. In my opinion better way of achieving what you want is using some kind of popup. This library 可能会帮助您。

据我所知,我会像下面的代码那样做(未经测试,只是一个片段):

boolean exitApp = false;

@Override
public void onBackPressed() {
    if (exitApp && (isBackStackEntryEmpty())) {
        super.onBackPressed();
        return;
    }
    //put here a dialog check
    checkDialog();  
}

private void checkDialog(){
  //show a dialog with an ok or a cancel.
  //in the cancel it will ask you for a second press.
  //if ok is pressed go to rate else, cancel, see below.
  this.exitApp = true;
  showToast();
  postDelayed();
}

private Handler handler = new Handler();
private boolean isBackStackEntryEmpty(){
   return isBackStackEntryEmpty;// check for that in code.
}

private void postDelayed()
{
   handler.postDelayed(new Runnable()
   {
      @Override
      public void run() {
           this.exitApp = false;                      
      }
   }, 3000);
}

public void showToast(){
   Toast.makeText(this, "Please click again to exit", Toast.LENGTH_SHORT).show();
}


相似的:
Clicking the back button twice to exit an activity

只是一个想法...记录是否向用户显示要求在共享首选项中进行评论的弹出窗口,以防止应用再次询问。但是你不能强迫人们给你的应用评分,只能选择不再向他们显示提醒