Android接入百度自动更新SDK
一:前言
公司的app,上傳到百度應(yīng)用市場(chǎng),然后說(shuō)必須要接入百度的自動(dòng)更新sdk才能上架,于是從百度官網(wǎng)上去下載jar包,下載的時(shí)候必須要帶上數(shù)據(jù)統(tǒng)計(jì),如果使用自動(dòng)的jar包,還需要帶上廣告聯(lián)盟,坑爹啊,有木有。我下載下來(lái)把其他無(wú)關(guān)的jar包根so文件刪掉了.把百度的demo也進(jìn)行精簡(jiǎn)了一下.只留下了自動(dòng)更新必須要用到的.
二:效果圖如下
三:代碼如下
AutoUpdateActivity.java ?代碼刪的就剩下整個(gè)Activity了,其實(shí)調(diào)用百度sdk還挺簡(jiǎn)單的,一句話就能搞定,然后再監(jiān)聽(tīng)回調(diào)函數(shù).
?
/*** 百度自動(dòng)更新* @author ansen * @create time 2015-11-07*/ public class AutoUpdateActivity extends Activity implements View.OnClickListener {private TextView txt_log;private ProgressDialog dialog;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.autoupdate_main);findViewById(R.id.btn_ui).setOnClickListener(this);findViewById(R.id.btn_silence).setOnClickListener(this);findViewById(R.id.btn_as).setOnClickListener(this);findViewById(R.id.btn_noui).setOnClickListener(this);txt_log = (TextView) findViewById(R.id.txt_log);dialog = new ProgressDialog(this);dialog.setIndeterminate(true);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btn_ui://UI更新txt_log.setText("");dialog.show();BDAutoUpdateSDK.uiUpdateAction(this, new MyUICheckUpdateCallback());break;case R.id.btn_silence:txt_log.setText("");BDAutoUpdateSDK.silenceUpdateAction(this);break;case R.id.btn_as:txt_log.setText("");dialog.show();BDAutoUpdateSDK.asUpdateAction(this, new MyUICheckUpdateCallback());break;case R.id.btn_noui:txt_log.setText("");dialog.show();BDAutoUpdateSDK.cpUpdateCheck(this, new MyCPCheckUpdateCallback());break;}}@Overrideprotected void onDestroy() {dialog.dismiss();super.onDestroy();}private class MyUICheckUpdateCallback implements UICheckUpdateCallback {@Overridepublic void onCheckComplete() {dialog.dismiss();}}private class MyCPCheckUpdateCallback implements CPCheckUpdateCallback {@Overridepublic void onCheckUpdateCallback(AppUpdateInfo info, AppUpdateInfoForInstall infoForInstall) {if(infoForInstall != null && !TextUtils.isEmpty(infoForInstall.getInstallPath())) {txt_log.setText(txt_log.getText() + "\n install info: " + infoForInstall.getAppSName() + ", \nverion=" + infoForInstall.getAppVersionName() + ", \nchange log=" + infoForInstall.getAppChangeLog());txt_log.setText(txt_log.getText() + "\n we can install the apk file in: " + infoForInstall.getInstallPath());BDAutoUpdateSDK.cpUpdateInstall(getApplicationContext(), infoForInstall.getInstallPath());}else if(info != null) {BDAutoUpdateSDK.cpUpdateDownload(AutoUpdateActivity.this, info, new UpdateDownloadCallback());}else {txt_log.setText(txt_log.getText() + "\n no update.");}dialog.dismiss();}}private class UpdateDownloadCallback implements CPUpdateDownloadCallback {@Overridepublic void onDownloadComplete(String apkPath) {txt_log.setText(txt_log.getText() + "\n onDownloadComplete: " + apkPath);BDAutoUpdateSDK.cpUpdateInstall(getApplicationContext(), apkPath);}@Overridepublic void onStart() {txt_log.setText(txt_log.getText() + "\n Download onStart");}@Overridepublic void onPercent(int percent, long rcvLen, long fileSize) {txt_log.setText(txt_log.getText() + "\n Download onPercent: " + percent + "%");}@Overridepublic void onFail(Throwable error, String content) {txt_log.setText(txt_log.getText() + "\n Download onFail: " + content);}@Overridepublic void onStop() {txt_log.setText(txt_log.getText() + "\n Download onStop");}} }
autoupdate_main.xml ??AutoUpdateActivity加載的布局文件.
四.注意事項(xiàng)
1.需要引用另外一個(gè)項(xiàng)目,另外一個(gè)項(xiàng)目里面必須有兩個(gè)百度的jar包.BDAutoUpdate_APPX_SDK_20150826.jar跟need_lib.jar
2.需要在AndroidManifest.xml中配置appid,appkey,還有彈窗顯示的Activity.
?
<!-- 百度自動(dòng)更新SDK Appid配置,AppKey配置--><meta-data android:name="BDAPPID" android:value="3067515"/><meta-data android:name="BDAPPKEY" android:value="f3Os4GAOqxgm79GqbnkT9L8T"/><!-- 百度自動(dòng)更新SDK --><activityandroid:name="com.baidu.autoupdatesdk.ConfirmDialoigActivity"android:exported="false"android:screenOrientation="sensor"android:theme="@style/bdp_update_dialog_style_fullscreen"/>3.appid跟appkey是官網(wǎng)申請(qǐng)的 ?http://app.baidu.com/value/sdkservice?f=9
推薦下自己創(chuàng)建的android QQ群:202928390?歡迎大家的加入.
點(diǎn)擊下載源碼
總結(jié)
以上是生活随笔為你收集整理的Android接入百度自动更新SDK的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: sysdig案例分析 - 哪些文件正在被
- 下一篇: Android隐藏状态栏、导航栏