gpt4 book ai didi

android - 应用程序启动计数

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:21:17 24 4
gpt4 key购买 nike

我正在开发一个应用程序,其中在用户打开该应用程序 5 次后,在第 6 次尝试时,该应用程序应征求用户的反馈。我尝试使用 Activity OnStartOnResume,但它无法正常工作,因为即使在离开并重新进入 Activity 之后,这些方法也会被调用。另外根据 android 功能,我无法退出应用程序,以便我可以从第一个调用的 Activity 中找到它。如何查找该应用的启动次数?

我希望这不会造成混淆。

编辑

或者有一种方法,一旦用户按下主页退出应用程序,我总是可以从第一个 Activity (或欢迎页面)恢复我的应用程序。

最佳答案

这其实很简单。使用 SharedPreference 或数据库。

在 OnCreate 期间将 numberofTimes 计数器加 1 并提交。

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

无论您启动应用程序还是恢复应用程序,都会调用 OnCreate,但 isFinishing() 返回 true 当且仅当用户(或您)在应用程序上调用 finish() (并且它没有被销毁经理)

这样你只会在重新开始时增加。

isFinishing() Method在 OnPause 方法内部检查 Activity 是正在 finish() 还是只是暂停。

@Override
protected 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)-> finish
3. user starts app (+1) -> pause (-1) -> android kills process (0) -> user returns to app (+1) -> user finish.

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

关于android - 应用程序启动计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5799819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com