【问题标题】:In android - how to I make an activity launch when someone closes an app?在android中-当有人关闭应用程序时如何启动活动?
【发布时间】:2015-09-14 21:16:41
【问题描述】:

我想向我的应用添加一个活动,要求用户对其进行评分,但我希望它仅在他们使用后退按钮退出应用时启动(这样它不会干扰用处)。 我有一些应用程序,如果我通过反复点击后退按钮退出,我会得到一个祝酒词“点击返回退出 ______”,所以我很确定这是可能的。

【问题讨论】:

  • 那么当您的应用退出时,您希望显示此弹出消息还是什么?
  • 这个之前已经问过了,你需要覆盖onBackPressed
  • 每次有人按下后退按钮时,它不会消失吗?
  • 我想弹出一个对话框,询问用户他们对应用程序的评价如何(5 星),如果他们评分为 3 或以下,他们会被邀请通过电子邮件向我发送 cmets 或投诉,如果他们评分 4 或 5 他们被发送到应用商店提交评分。

标签: android rate ondestroy


【解决方案1】:

您可以在 onBackPressed 方法上使用 intent 开始另一个活动。使用这种方法,您可以触发 google play 的意图。但我认为这会让用户感到沮丧。在我看来,实现你想要的更好的方法是使用某种弹出窗口。这个library 可能会对你有所帮助。

【讨论】:

  • 感谢您提供有关库的提示,看来这可能会有很大帮助。我也不希望每次用户按下后退按钮时都会弹出这个东西,因为我的应用程序需要经常使用后退按钮。
  • 我最终使用了这个库。这不是完全我的目标,但在我成为更高级的程序员之前,它现在可以做到。
【解决方案2】:

据我所知,我会在以下代码中执行此操作(未经测试,只是一个 sn-p):

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

【讨论】:

  • 谢谢,看起来很完美!
  • 实际上,如果我在屏幕上除了我的 1 级片段之外还有一个片段,它就会被捕获。对于检查 backstack 的代码,我让它返回 (fm.getBackStackEntryCount() == 0); (其中 fm 是我的 FragmentManager)。会不会是这个问题?
【解决方案3】:

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

【讨论】:

  • 我同意。我目前获得评分的方法是在操作栏中显示一个小拇指向上的图形。如果有人好奇并点击该消息,则会弹出一条消息,要求他们对该应用程序进行评分。如果用户接受,他们将被发送到 Play 商店中的应用程序,并且拇指从操作栏中消失。这个想法是不要中断用户的工作流程,除非他们出于对图标是什么的好奇而启动该过程,并且通过将图标留在上面来提醒他们对应用程序进行评分真的很好。那还没有得到任何评价,所以我想展示一个退出应用程序的对话框。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-28
  • 1970-01-01
  • 1970-01-01
  • 2015-06-24
  • 1970-01-01
  • 2018-03-13
相关资源
最近更新 更多