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

时间:2015-09-14 21:16:42

标签: android rate ondestroy

我想在我的应用中添加一项活动,要求用户对其进行评分,但我宁愿让它只在他们使用后退按钮退出应用时启动(这样它就不会干扰有用)。 我有几个应用程序,如果我通过反复按下后退按钮退出,我会举杯说“点击退回______”所以我很确定这是可能的。

3 个答案:

答案 0 :(得分:1)

您可以在onBackPressed方法上使用intent开始另一项活动。通过这种方法,您可以启动谷歌播放的意图。但我认为这对用户来说会很令人沮丧。在我看来,实现你想要的更好的方法是使用某种弹出窗口。这library可能会帮助您。

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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