android – 应用程序启动计数

android – 应用程序启动计数,第1张

概述我正在处理一个应用程序,其中在用户打开应用程序的5倍之后,第6次尝试应用程序应该询问用户的反馈.我尝试使用Activity OnStart,OnResume,但它不工作,因为即使离开并重新进入活动,这些方法被调用.另外根据 android的功能,我不能退出应用程序,所以我可以从第一个活动中找到它.如何查找应用程序启动的次数? 我希望这不会令人困惑. 编辑 或者,有一种方法,一旦用户按下家中退出应用 我正在处理一个应用程序,其中在用户打开应用程序的5倍之后,第6次尝试应用程序应该询问用户的反馈.我尝试使用Activity OnStart,OnResume,但它不工作,因为即使离开并重新进入活动,这些方法被调用.另外根据 android的功能,我不能退出应用程序,所以我可以从第一个活动中找到它.如何查找应用程序启动的次数?

我希望这不会令人困惑.

编辑

或者,有一种方法,一旦用户按下家中退出应用程序,我可以始终从第一个活动(或例如欢迎页面)恢复我的应用程序.

解决方法 这其实很简单.使用SharedPreference或数据库.

在OnCreate中添加1到numberofTimes计数器并提交.

OnCreate (Bundle bundle){  mPref = getPreferences();  int c = mPref.getInt("numRun",0);  c++;  mPref.edit().putInt("numRun",c).commit();  //do other stuff...}

无论您启动应用程序还是继续应用程序,OnCreate都会被调用,但是,如果用户(或您)在应用程序中调用finish()(并且它不被管理器销毁),isFinishing()将返回true.

这样你只有在新鲜开始的时候才会增加.

一个OnPause方法里面的isFinishing() Method来检查一下活动是否正在完成()或刚刚被暂停.

@OverrIDeprotected voID OnPause(){  if(!isFinishing()){    c = mPref.getInt("numRun",0);    c--;    mPref.edit().putInt("numRun",c).commit();  }  //Other pause stuff.}

这涵盖了您的所有场景:

1. user starts app/activity (+1)-> finishes app,exit with finish()2. user starts app (+1) -> pause (-1) -> returns (+1)-> finish3. user starts app (+1) -> pause (-1) -> androID kills process (0) -> user returns to app (+1) -> user finish.

每个场景,您只会在“运行”活动中增加“时间运行”计数器一次

总结

以上是内存溢出为你收集整理的android – 应用程序启动计数全部内容,希望文章能够帮你解决android – 应用程序启动计数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1131199.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存