您的位置:首页 > 移动开发 > Android开发

Android apk下载 安装 卸载 打开

2013-06-09 21:54 489 查看
今天来介绍一下Android apk安装、卸载、打开

安装

String str = "/CanavaCancel.apk";

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);

卸载:

Uri packageURI = Uri.parse("package:com.demo.CanavaCancel");

Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);

startActivity(uninstallIntent);

Environment拥有一些可以获取环境变量的方法

package:com.demo.CanavaCancel 这个形式是 package:程序完整的路径 (包名+程序名).



//下载apk程序代码

protected File downLoadFile(String httpUrl) {

// TODO Auto-generated method stub

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) {

// TODO Auto-generated catch block

e.printStackTrace();

}

} catch (MalformedURLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return file;

}

//打开APK程序代码

private void openFile(File 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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: