Android程序安装和卸载
来源:互联网 发布:windows源代码下载 编辑:程序博客网 时间:2024/04/30 06:08
String fileName = Environment.getExternalStorageDirectory() + str;
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");
startActivity(intent);
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
startActivity(uninstallIntent);
protected File downLoadFile(String httpUrl) {
final String fileName = "updata.apk";
File tmpFile = new File("/sdcard/update");
if (!tmpFile.exists()) {
tmpFile.mkdir();
}
final File file = new File("/sdcard/update/" + fileName);
try {
URL url = new URL(httpUrl);
try {
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
InputStream is = conn.getInputStream();
FileOutputStream fos = new FileOutputStream(file);
byte[] buf = new byte[256];
conn.connect();
double count = 0;
if (conn.getResponseCode() >= 400) {
Toast.makeText(Main.this, "连接超时", Toast.LENGTH_SHORT).show();
} else {
while (count <= 100) {
if (is != null) {
int numRead = is.read(buf);
if (numRead <= 0) {
break;
} else {
fos.write(buf, 0, numRead);
}
} else {
break;
}
}
}
conn.disconnect();
fos.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (MalformedURLException e) {
e.printStackTrace();
}
return file;
}
// TODO Auto-generated method stub
Log.e("OpenFile", file.getName());
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive");
startActivity(intent);
}
备注说明:
Android系统的应用安装,在系统设置里面有一项,是否安装未知源,所在在软件更新的时候,需要检测这个选项,如果打钩,则只允许安装Market源提供的安装程序,如果没有打钩的话,系统安装应用时会提示用户设置,如果选择设置,设置好后,无法返回安装界面;如果选择取消,则推出安装程序。所以,如果是更新的话,一定要在下载之前就检测许可安装源的设置,或者在下载前检测是否已经下载过新的安装程序,避免重复下载安装程序。
相关的代码如下
int result = Settings.Secure.getInt(getContentResolver(), Settings.Secure.INSTALL_NON_MARKET_APPS, 0);
if (result ==0) {
// show some dialog here
// ...
// and may be show application settings dialog manually
Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_SETTINGS);
startActivity(intent);
}
- android安装和卸载程序
- android安装和卸载程序
- 安装和卸载Android程序
- Android程序安装和卸载
- Android安装和卸载程序
- Android 程序的安装、卸载和更新
- Android 程序的安装、卸载和更新
- Android 程序的安装、卸载和更新
- Android 程序的安装、卸载和更新
- 调用Android installer 安装和卸载程序
- Android 程序的安装、卸载和更新
- Android 程序的安装、卸载和更新
- Android 程序的安装、卸载和更新 .
- Android监听程序的安装和卸载
- Android 程序的安装、卸载和更新
- Android程序的安装、卸载和更新
- Android 程序的安装、卸载和更新
- Android 程序的安装、卸载和更新
- SQL Server 2008中SQL之WaitFor-在规定时间执行操作
- 最大公约数、最小公倍数
- POJ 1204 Word Puzzles [ Trie树 模板题]
- cvc-enumeration-valid: Value 'CONTAINER' is not facet-valid with respect to enumeration问题
- 【二分图匹配】【ZJOI2009】假期的宿舍
- Android程序安装和卸载
- 导航条在项目中的应用
- 通过权重排序DedeCMS文章列表页面
- 一个函数函数指向自身的指针
- LINQ TO SQL Null 查询 .
- linux tomcat7 自动启动
- Fedora16下安装oracle10g
- android开发的学习路线
- requestWindowFeature使用详解