bmob的自动升级报空指针
来源:互联网 发布:西北大学美工专业 编辑:程序博客网 时间:2024/06/11 01:05
bmob自然是很好的东西,但是如果你遇到这个,
11-01 09:22:20.880: E/AndroidRuntime(8102): Caused by: java.lang.NullPointerException
11-01 09:22:20.880: E/AndroidRuntime(8102): at cn.bmob.v3.update.UpdateResponse.Code(SourceFile:134)
但是你有没有什么好的解决思路,不如仅仅只是把AppVersion当做一个普通数据,自己做版本对比,利用BmobFile类的下载方法,下载好后自己去安装就好了。
private void testUpdate() {<span style="white-space:pre"></span>PackageManager manager;<span style="white-space:pre"></span>PackageInfo info = null;<span style="white-space:pre"></span>manager = this.getPackageManager();<span style="white-space:pre"></span>try {<span style="white-space:pre"></span>info = manager.getPackageInfo(this.getPackageName(), 0);<span style="white-space:pre"></span>} catch (Exception e) {<span style="white-space:pre"></span>Log.e(TAG, e.getMessage());<span style="white-space:pre"></span>}<span style="white-space:pre"></span>BmobQuery<AppVersion> query = new BmobQuery<AppVersion>();<span style="white-space:pre"></span>query.addWhereGreaterThan("version_i", info.versionCode);<span style="white-space:pre"></span>query.findObjects(this, new FindListener<AppVersion>() {<span style="white-space:pre"></span>@Override<span style="white-space:pre"></span>public void onError(int arg0, String arg1) {<span style="white-space:pre"></span>// TODO Auto-generated method stub<span style="white-space:pre"></span>}<span style="white-space:pre"></span>@Override<span style="white-space:pre"></span>public void onSuccess(List<AppVersion> arg0) {<span style="white-space:pre"></span>AppVersion av = arg0.get(0);<span style="white-space:pre"></span>BmobFile file = av.getPath();<span style="white-space:pre"></span>LogUtil.e(TAG, file.getFilename());<span style="white-space:pre"></span>file.download(LauncherActivity.this,new File("/mnt/sdcard/xxx.apk"),<span style="white-space:pre"></span>new DownloadFileListener() {<span style="white-space:pre"></span>@Override<span style="white-space:pre"></span>public void onFailure(int arg0, String arg1) {<span style="white-space:pre"></span>LogUtil.e(TAG, "新版本下载失败:"+arg1);<span style="white-space:pre"></span>}<span style="white-space:pre"></span>@Override<span style="white-space:pre"></span>public void onSuccess(String arg0) {<span style="white-space:pre"></span>LogUtil.e(TAG, arg0);<span style="white-space:pre"></span>installApk();<span style="white-space:pre"></span>}<span style="white-space:pre"></span>});<span style="white-space:pre"></span>}<span style="white-space:pre"></span>});<span style="white-space:pre"></span><span style="white-space:pre"></span>}
private void installApk() {String fileName = "/mnt/sdcard/xxx.apk"; Intent intent = new Intent(Intent.ACTION_VIEW); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);// intent.setDataAndType(Uri.parse("file://"+fileName), "application/vnd.android.package-archive"); intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive"); startActivityForResult(intent, 1);}
0 0
- bmob的自动升级报空指针
- Spring自动装配报空指针异常
- 自定义listview的ArrayAdapter报空指针
- 关于空指针报错的问题
- 打印空引用不会报空指针异常的原因
- 报空指针
- tomcat报空指针
- RecyclerView 报空指针
- Onmeasure报空指针
- ViewHolder报空指针????
- jsp报空指针
- mediaController 报空指针异常 VideoView 关闭报空指针
- springmvc报的service空指针的异常
- ssh 总是报空指针
- spring+dwr 报空指针
- setOnClickListener报空指针异常
- getActionBar()报空指针异常
- popuwindow报空指针异常
- leetcode34_Search for a Range
- 【Java每日一题】20161101
- Java面试题全集
- qt之贪吃蛇
- Android自定义View底部连续圆环效果
- bmob的自动升级报空指针
- Aggregation总结:Blending和Bootstrap
- 全志R16的TINAV2.0平台的cameratest程序精简版本V1.1(cameratest_x17H全局变量成功.c)
- gdb 中的list及右左法则举例说明
- iOS中代理协议的定义和使用
- Java NIO框架Netty教程(二) – 白话概念
- qt之图片转换工具
- 卡特兰数
- 总线技术介绍