原来项目中集成了Bugly的CrashReport和应用升级功能,但是应用升级功能却没打开( o L o) ,也是挺无语的
没办法只好重新采坑配置下,
首先Bugly官方文档给的API都比较清晰的,但是描述上却很不具体,比如 所有Beta类中设置 upgradeListener、upgradeDialogLifeCycle等和检查更新相关的回调必须在
Beta.init方法之前调用才有效,否则到死也不会产生回调
/**
* true表示初始化时自动检查升级
* false表示不会自动检查升级,需要手动调用Beta.checkUpgrade()方法
*/
Beta.autoCheckUpgrade = false;
/**
* 监听升级对话框的生命周期事件,可以通过设置OnUILifecycleListener接口
* context - 当前弹窗上下文对象
* view - 升级对话框的根布局视图,可通过这个对象查找指定view控件
* upgradeInfo - 升级信息
*/
Beta.upgradeDialogLifecycleListener = new UILifecycleListener<UpgradeInfo>() {
@Override
public void onCreate(Context context, View view, UpgradeInfo upgradeInfo) {
Boolean isFirstShowRed = SharedPreferencesUtil.getInstance().get(SharedPreferencesUtil.Key.IS_FIRST_SHOW_RED_ENVELOPE, false);
if(isFirstShowRed) {
SharedPreferencesUtil.getInstance().put(SharedPreferencesUtil.Key.IS_FIRST_TO_MAIN_RECOMMEND, true);
}
}
@Override
public void onStart(Context context, View view, UpgradeInfo upgradeInfo) {
}
@Override
public void onResume(Context context, View view, UpgradeInfo upgradeInfo) {
}
@Override
public void onPause(Context context, View view, UpgradeInfo upgradeInfo) {
}
@Override
public void onStop(Context context, View view, UpgradeInfo upgradeInfo) {
}
@Override
public void onDestroy(Context context, View view, UpgradeInfo upgradeInfo) {
}
};
/**
* 设置sd卡的Download为更新资源保存目录;
* 后续更新资源会保存在此目录,需要在manifest中添加WRITE_EXTERNAL_STORAGE权限;
*/
Beta.storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
最后再调用init方法初始化Bugly,才能让设置的各种监听、回调生效。。简直坑,文档中根本没有明确指出这一点,Bugly很多监听都是Beta类中静态field设置的,基本在Beta类中找就行,定制性还是很好的