有一个应用程序,安装后需要重启系统。我注册了启动接收器并将信息写入系统日志。并且活动检查此行。它运作良好,但有一个问题......
当用户在一个会话中卸载并安装此应用程序时(我的意思是用户不重启电话)系统日志仍然有“电话重启”行,应用程序运行时出现错误。
据我所知,我无法检查我的应用程序上的卸载事件导致接收器在应用程序要卸载之前停止。所以我的问题是我可以检查我的应用程序安装吗?或者可能以任何其他方式卸载?
谢谢!
答案 0 :(得分:0)
也许有人会感兴趣。我找到了允许我在安装/更新后检查系统重启的代码:
public static boolean phone_rebooted(Context ctx) {
ApplicationInfo appInfo = ctx.getApplicationInfo();
String appFile = appInfo.sourceDir;
long installed = new File(appFile).lastModified();
long boot_time = System.currentTimeMillis() - SystemClock.elapsedRealtime();
if(boot_time < installed) {
return false;
} else {
return true;
}
}