本文整理匯總了Java中com.taobao.sophix.SophixManager類的典型用法代碼示例。如果您正苦於以下問題:Java SophixManager類的具體用法?Java SophixManager怎麽用?Java SophixManager使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
SophixManager類屬於com.taobao.sophix包,在下文中一共展示了SophixManager類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: initSophix
import com.taobao.sophix.SophixManager; //導入依賴的package包/類
private void initSophix() {
// initialize最好放在attachBaseContext最前麵
SophixManager.getInstance().setContext(this)
.setAppVersion(AppInfoUtil.getAppVersionCode(this))
.setAesKey(null)
.setEnableDebug(true)
.setPatchLoadStatusStub(new PatchLoadStatusListener() {
@Override
public void onLoad(final int mode, final int code, final String info, final int handlePatchVersion) {
// 補丁加載回調通知
if (code == PatchStatus.CODE_LOAD_SUCCESS) {
// 表明補丁加載成功
} else if (code == PatchStatus.CODE_LOAD_RELAUNCH) {
// 表明新補丁生效需要重啟. 開發者可提示用戶或者強製重啟;
// 建議: 用戶可以監聽進入後台事件, 然後應用自殺,以此加快應用補丁
// 建議調用killProcessSafely,詳見1.3.2.3
// SophixManager.getInstance().killProcessSafely();
} else if (code == PatchStatus.CODE_LOAD_FAIL) {
// 內部引擎異常, 推薦此時清空本地補丁, 防止失敗補丁重複加載
// SophixManager.getInstance().cleanPatches();
} else {
// 其它錯誤信息, 查看PatchStatus類說明
}
}
}).initialize();
// queryAndLoadNewPatch不可放在attachBaseContext 中,否則無網絡權限,建議放在後麵任意時刻,如onCreate中
SophixManager.getInstance().queryAndLoadNewPatch();
}
示例2: initSophix
import com.taobao.sophix.SophixManager; //導入依賴的package包/類
private void initSophix() {
String appVersion;
try{
//獲取當前版本號
appVersion = this.getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
}catch (PackageManager.NameNotFoundException e) {
appVersion = "1.0.0.0";
}
SophixManager.getInstance().setContext(this)
.setAppVersion(appVersion)
.setAesKey(null)
.setEnableDebug(true)
.setPatchLoadStatusStub(new PatchLoadStatusListener() {
@Override
public void onLoad(final int mode, final int code, final String info, final int handlePatchVersion) {
// 補丁加載回調通知
if (code == PatchStatus.CODE_LOAD_SUCCESS) {
// 表明補丁加載成功
Log.d(TAG, "Sophix -- 補丁加載成功");
} else if (code == PatchStatus.CODE_LOAD_RELAUNCH) {
Log.d(TAG, "Sophix -- 補丁需要重啟生效");
// 表明新補丁生效需要重啟. 開發者可提示用戶或者強製重啟;
// 建議: 用戶可以監聽進入後台事件, 然後調用killProcessSafely自殺,以此加快應用補丁,詳見1.3.2.3
} else {
Log.d(TAG, "Sophix -- 無更新補丁");
// 其它錯誤信息, 查看PatchStatus類說明
}
}
}).initialize();
//加載新的補丁包
SophixManager.getInstance().queryAndLoadNewPatch();
}
示例3: initSophix
import com.taobao.sophix.SophixManager; //導入依賴的package包/類
private void initSophix() {
String appVersion;
try {
appVersion = this.getPackageManager().getPackageInfo(this.getPackageName(), 0).versionName;
} catch (Exception e) {
appVersion = "1.0.0";
}
SophixManager.getInstance().setContext(this)
.setAppVersion(appVersion)
.setAesKey(null)
.setEnableDebug(false)
.setPatchLoadStatusStub(new PatchLoadStatusListener() {
@Override
public void onLoad(final int mode, final int code, final String info, final int handlePatchVersion) {
// 補丁加載回調通知
if (code == PatchStatus.CODE_LOAD_SUCCESS) {
// 表明補丁加載成功
ToastUtils.showToast(getApplicationContext(),"補丁加載成功");
} else if (code == PatchStatus.CODE_LOAD_RELAUNCH) {
// 表明新補丁生效需要重啟. 開發者可提示用戶或者強製重啟;
// 建議: 用戶可以監聽進入後台事件, 然後調用killProcessSafely自殺,以此加快應用補丁,詳見1.3.2.3
ToastUtils.showToast(getApplicationContext(),"新補丁生效需要重啟");
SophixManager.getInstance().killProcessSafely();
} else {
// 其它錯誤信息, 查看PatchStatus類說明
Logger.e("SophixErrorCode:"+code);
}
}
}).initialize();
SophixManager.getInstance().queryAndLoadNewPatch();
}