安装后或安装后是否有一些事件/接收器或处理首次执行的东西?或者我是否需要模仿偏好?
答案 0 :(得分:49)
有ACTION_PACKAGE_ADDED
广播意图,但正在安装的应用程序没有收到此信息。
因此,检查是否设置了首选项可能是最简单的解决方案。
SharedPreferences p = PreferenceManager.getDefaultSharedPreferences(this);
boolean firstRun = p.getBoolean(PREFERENCE_FIRST_RUN, true);
p.edit().putBoolean(PREFERENCE_FIRST_RUN, false).commit();
答案 1 :(得分:4)
见Get referrer after installing app from Android Market - 你可以在那里放任何你想要的东西。我相信这就是Plan B的工作原理 - 可以在手机被盗之后发回手机的应用,你可以在网站之后安装它。
答案 2 :(得分:1)
我不认为有这样的事情,我认为这不是一个好主意:通常你不仅要处理安装,还要处理一些更新(例如:带有功能的新版本)或正确的初始化一些资源。
对于资源,最好的方法是直接检查它们。
对于版本,我使用数据库,这很容易。
答案 3 :(得分:1)
当数据库版本发生更改时,将调用SQLiteOpenHelper的OnUpgrade方法。我想这可以用来做其他事情,而不仅仅是处理新架构。