@Override public boolean onPreferenceClick(Preference preference) { try { Beta.checkUpgrade(); } catch (Exception e) { e.printStackTrace(); } return false; }
@Override public void onTerminate() { super.onTerminate(); Beta.unInit(); }
@Override protected void onDestroy() { super.onDestroy(); Beta.unregisterDownloadListener(); }
@Override public void onClick(View v) { switch (v.getId()) { case R.id.btnShowToast: // 测试热更新功能 testToast(); break; case R.id.btnKillSelf: // 杀死进程 android.os.Process.killProcess(android.os.Process.myPid()); break; case R.id.btnLoadPatch: // 本地加载补丁测试 Beta.applyTinkerPatch(getApplicationContext(), Environment.getExternalStorageDirectory().getAbsolutePath() + "/patch_signed_7zip.apk"); break; case R.id.btnLoadLibrary: // 本地加载so库测试 TestJNI testJNI = new TestJNI(); testJNI.createANativeCrash(); break; case R.id.btnDownloadPatch: Beta.downloadPatch(); break; case R.id.btnPatchDownloaded: Beta.applyDownloadedPatch(); break; case R.id.btnCheckUpgrade: Beta.checkUpgrade(); break; } }
@Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(base); // 安装tinker Beta.installTinker(); }
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) @Override public void onBaseContextAttached(Context base) { super.onBaseContextAttached(base); // you must install multiDex whatever tinker is installed! MultiDex.install(base); // 安装tinker Beta.installTinker(this); }
cancel = getView(R.id.cancel); start = getView(R.id.start); updateBtn(Beta.getStrategyTask()); tv.setText(tv.getText().toString() + Beta.getStrategyTask().getSavedLength() + ""); title.setText(title.getText().toString() + Beta.getUpgradeInfo().title); version.setText(version.getText().toString() + Beta.getUpgradeInfo().versionName); size.setText(size.getText().toString() + Beta.getUpgradeInfo().fileSize + ""); time.setText(time.getText().toString() + Beta.getUpgradeInfo().publishTime + ""); content.setText(Beta.getUpgradeInfo().newFeature); start.setOnClickListener(new View.OnClickListener() { @Override Beta.registerDownloadListener(new DownloadListener() { @Override public void onReceive(DownloadTask task) {
@Override public void onClick(View v) { DownloadTask task = Beta.startDownload(); updateBtn(task); if (task.getStatus() == DownloadTask.DOWNLOADING) { finish(); } } });
@Override public void onClick(View v) { Beta.cancelDownload(); finish(); } });
private void loadUpgradeInfo() { if (tvUpgradeInfo == null) return; /***** 获取升级信息 *****/ UpgradeInfo upgradeInfo = Beta.getUpgradeInfo(); if (upgradeInfo == null) { tvUpgradeInfo.setText("无升级信息"); return; } StringBuilder info = new StringBuilder(); info.append("id: ").append(upgradeInfo.id).append("\n"); info.append("标题: ").append(upgradeInfo.title).append("\n"); info.append("升级说明: ").append(upgradeInfo.newFeature).append("\n"); info.append("versionCode: ").append(upgradeInfo.versionCode).append("\n"); info.append("versionName: ").append(upgradeInfo.versionName).append("\n"); info.append("发布时间: ").append(upgradeInfo.publishTime).append("\n"); info.append("安装包Md5: ").append(upgradeInfo.apkMd5).append("\n"); info.append("安装包下载地址: ").append(upgradeInfo.apkUrl).append("\n"); info.append("安装包大小: ").append(upgradeInfo.fileSize).append("\n"); info.append("弹窗间隔(ms): ").append(upgradeInfo.popInterval).append("\n"); info.append("弹窗次数: ").append(upgradeInfo.popTimes).append("\n"); info.append("发布类型(0:测试 1:正式): ").append(upgradeInfo.publishType).append("\n"); info.append("弹窗类型(1:建议 2:强制 3:手工): ").append(upgradeInfo.upgradeType); tvUpgradeInfo.setText(info); } }
@Override public void onClick(View v) { Beta.checkUpgrade(); } });
@Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); // you must install multiDex whatever tinker is installed! MultiDex.install(base); // 安装tinker Beta.installTinker(); }
@OnClick(R.id.id_menu_update) public void onUpdateLayoutClick() { Beta.checkUpgrade(); }
Beta.installTinker(this);
@OnClick(R.id.setting_item_text_update) void onClickUpdate() { Beta.checkUpgrade(); }
@OnClick(R.id.ll_version) void check4Update() { Beta.checkUpgrade(); }
@Override protected void initVariable() { ifShowExit = true; ImmersedStatusbarUtils.initAfterSetContentView(this, null); Beta.checkUpgrade(false, false);//点击检查true,自动检查false;显示弹窗true,否则false }
Beta.checkUpgrade(true, false);//点击检查true,自动检查false;显示弹窗true,否则false } else if (id == R.id.get_code) { final View view = ((Activity)context).getLayoutInflater().inflate(R.layout.dialog_more, null);
Log.d("CMD", "version : " + version); Bugly.init(getApplicationContext(), "9c4b0e3ce3", false); Beta.checkUpgrade(false,false); setContentView(R.layout.activity_splash);
Beta.strToastCheckUpgradeError = getString(R.string.checkingupgradefailed); Beta.strToastCheckingUpgrade = getString(R.string.checkingupgrade); Beta.checkUpgrade(); break; case R.id.nav_menu_recommend: