android更新完之后怎么打开app,在Android中启动/更新后,检查App是否第一次打开

我想在每次第一次更新或安装应用程序后打开我的应用程序时运行服务.如何在启动后检查App是否首次打开?

我试过这个但是onCreate方法中的代码,但我在更新我的代码时得到isFirst = true,但是它应该是空白/ null以便我可以运行我的服务.

我哪里错了?

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

isFirst = sPrefs.getString(Utility.KEY_IS_FIRST, "");

if(isFirst == null || isFirst.equalsIgnoreCase("")){

//run service and set isFirst = true

SharedPreferences preferences = PreferenceManager

.getDefaultSharedPreferences(Activity_Home.this);

SharedPreferences.Editor edit = preferences.edit();

edit.putString(Utility.KEY_IS_FIRST, "true");

edit.commit();

}

}

解决方法:

您可以将版本代码保存到共享首选项,并将其与当前运行的应用程序的版本代码进行比较.如果您的版本代码高于保存的版本代码,则用户已更新,运行您的服务并更新共享首选项.

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);

int currentVersionCode = BuildConfig.VERSION_CODE;

if (prefs.getInt("LASTVERSION", 0) < currentVersionCode) {

// Run service here

prefs.edit().putInt("LASTVERSION", currentVersionCode).apply();

}

标签:android

来源: https://codeday.me/bug/20190724/1526043.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值