原地址:http://www.pin5i.com/showtopic-android-apps-upgrade.html
用户可以从market上直接下载下来直接安装
就可以了,会自动识别覆盖的,除非你把版本调低了
- <manifest
xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.xx.xx" 包名
- android:versionCode="X" 版本号
- android:versionName="xxx"> 版本名
复制代码
就是修
改这个versionCode和versionName
代码安装apk
- Intent i = new Intent(Intent.ACTION_VIEW);
- String filePath = "/sdcard/XXX.apk";
- i.setDataAndType(Uri.parse("file://" +
filePath),"application/vnd.android.package-archive");
- context.startActivity(i);
复制代码
程
序卸载
- Intent
intent = new Intent(Intent.ACTION_DELETE, uri);
- intent.startActivity();
复制代码
监
听是否卸载成功
- DeleteReceiver
mDeleteReceiver = new DeleteReceiver();//自定义的广播接收类,接收到结果后的操作
- IntentFilter filter = new IntentFilter(
- Intent.ACTION_PACKAGE_DATA_CLEARED);
- filter.addAction(Intent.ACTION_PACKAGE_REMOVED);
- filter.addDataScheme("package");
- registerReceiver(mDeleteReceiver, filter); //注册广播和过滤
- Intent undeleteIntent = new Intent(Intent.ACTION_DELETE,
packageURI);
- startActivity(undeleteIntent);
复制代码
文
件下载
DownloadProvider的权限级别改成 normal了就可以使用了 网上也有说明
首先要在Android
Manifest.xml中申请访问
DownloadManager的权限
- <uses-permission
android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
复制代码
添加一个
下载任务:
- ContentValues
values = new ContentValues();
- values.put(Downloads.URI, url);//指定下载地址
- values.put(Downloads.COOKIE_DATA,
cookie);//如果下载Server需要cookie,设置cookie
-
values.put(Downloads.VISIBILITY,Downloads.VISIBILITY_HIDDEN);//设置下载提示
是否在屏幕顶部显示
- values.put(Downloads.NOTIFICATION_PACKAGE,
getPackageName());//设置下载完成之后回调的包名
- values.put(Downloads.NOTIFICATION_CLASS,
DownloadCompleteReceiver.class.getName());//设置下载完成之后负责接收的Receiver,这个类要继承
BroadcastReceiver
-
values.put(Downloads.DESTINATION,save_path);//设置下载到的路径,这个需要在Receiver里
自行处理
- values.put(Downloads.TITLE,title);//设置下载任务的名称
- this.getContentResolver().insert(Downloads.CONTENT_URI,
values);//将其插入到DownloadManager的数据库中,数据库会触发修改事件,启动下载任务
- ContentValues values = new ContentValues();
- values.put("uri", uri.toString());
- values.put("useragent", "Mozilla/5.0 (Linux; U; Android 1.5;
en-us; sdk Build/CUPCAKE) AppleWebKit/528.5+ (KHTML, like Gecko)
Version/3.1.2 Mobile
Safari/525.20.1");
- values.put("notificationpackage", getPackageName());
- values.put("notificationclass", "HelloWorld");
- values.put("visibility", 1);
- values.put("mimetype", mimetype);
- values.put("hint", filename);
- values.put("description", uri.getHost());
- values.put("total_bytes", 1349528);
-
- mResolver = getContentResolver();
- mResolver.insert(Uri.parse("content://downloads/download"),
values);
复制代码
分享到:
相关推荐
本文将深入探讨Android 7.0版本升级安装的过程,以及在这个过程中可能出现的问题,特别是与SD卡相关的问题。 一、Android 7.0的新特性与升级流程 1. 多窗口支持:Android 7.0首次引入了多窗口功能,用户可以同时...
### Android OTA升级之三:生成recovery.img深入解析 在深入了解如何生成`recovery.img`之前,我们首先简要回顾一下Android OTA(Over-the-Air)升级的基本概念。OTA升级是移动设备上的一种常见更新方式,它允许...
【Android通讯录程序详解】 Android通讯录程序是一个典型的Android应用示例,它展示了如何在Android平台上构建一个功能齐全的联系人管理应用。该程序的核心功能包括添加、删除、查询和修改联系人的信息,这些功能的...
【Android课程表程序详解】 Android课程表程序是一个实用的应用,旨在帮助用户管理和规划他们的学习时间。这个程序展示了Android开发中的多种关键技术和控件的运用,是开发者学习和借鉴的宝贵资源。下面我们将深入...
在Android平台上,开发一个通讯录程序是常见的任务,它涉及到用户界面设计、数据管理以及与系统服务的交互。本资源提供了两个完整的Android通讯录程序的源码,这为开发者提供了宝贵的参考和学习材料。我们将围绕以下...
标题中的“RS485转USB驱动支持WINCE Android”是指一种硬件接口转换技术,它允许RS485协议的设备通过USB接口与计算机或其他支持USB的设备进行通信。RS485是一种广泛用于工业控制和远程通信的串行通信标准,具有良好...
例如,`aapt`(Android Asset Packaging Tool)用于处理应用程序资源,`dx`用于转换Java字节码为Dalvik字节码,`adb`(Android Debug Bridge)则用于设备通信和调试。 升级到28.0.3版可能涉及到以下改进和新功能: ...
升级您的互动-今天就试试语音短信! 借助我们的多功能语音识别套件,支持多种语言,增强您的语音能力。 使用自然流畅的语音,努力制作文本、短信、电子邮件笔记和推文。 发挥自定义字典的潜力,使您能够为标点符号、...
在Android开发中,创建一个简单的通讯录管理程序是一项常见的任务,可以帮助我们理解如何与系统集成、数据存储以及用户界面设计。以下将详细讲解这个程序所涉及的关键知识点。 首先,`Contect Provider`是Android...
### Android Studio 4.0 新特性及升级异常问题解决方案 #### 升级问题及解决方案 **1. Data Binding 开启配置修改** - **问题描述**:升级至 Android Studio 4.0 后,可能会遇到关于 Data Binding 配置过时的...
在Android平台上,文件操作是应用程序开发中的重要环节,无论是在保存用户数据、处理资源文件,还是与其他应用交换信息时,都离不开对文件的操作。本文将深入探讨如何在Android环境中进行文件操作,主要涵盖以下几个...
- **远程升级**:在Android设备上,1K Xmodem协议常用于固件或者应用程序的远程更新。因为它的简单性和易于实现,对于小规模的数据传输是实用的选择。 3. **硬件利用**: - **串口适配器**:通常,Android设备并...
安卓接CH340实现串口通信源码,可设置波特率等参数
在Android平台上,开发一款直接调用摄像机的小程序是一项常见的任务。这个小程序的目的是为用户提供一个简单的界面,可以直接启动相机并预览拍摄画面。虽然它目前还没有实现文件保存功能,但我们可以逐步探讨如何...
1. **初始化数据库**:在应用程序的Application类中,创建并获取`OpenHelper`实例,然后通过`OpenHelper.getWritableDb()`打开数据库。 2. **操作数据**: - 插入数据:调用DAO的`insert()`方法。 - 查询数据:...
在Android应用程序开发过程中,`build-tools`组件扮演了核心角色,它包含了构建应用所必需的各种工具。本主题聚焦于"Android SDK Manager build-tools升级至26.0.2"的过程,以及涉及的相关知识点。 1. **Android ...
在Android应用开发中,数据库是存储和管理应用程序数据的关键组件。当应用的数据库需要更新以适应新功能或改进的数据结构时,如何优雅地进行数据库升级并同时保留原有的用户数据成为一个重要的问题。本篇文章将深入...
【标题】"玩转Android手机.rar" 暗示了这个压缩包可能包含了关于如何有效使用Android智能手机的各种信息。这可能包括从基本操作到高级功能的教程,旨在帮助用户充分利用他们的设备。 【描述】虽然描述是空的,我们...
前端开发随着移动端系统的不断升级优化,Android 系统的版本也越来越高,前端开发变得方便、简单,控件形式也变得多种多样。但是对于市场上的控件来说,如果开发者为了简单都用默认控件,这样的产品必然会遭到消费者...
6. **权限管理**:随着Android系统的安全升级,应用需要适配运行时权限管理。在微博客户端中,可能需要获取相机、麦克风、位置等敏感权限,需要正确处理权限请求和响应。 7. **图片处理**:微博应用通常包含大量的...