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

Android调用系统功能、apk安装卸载

2013-09-09 12:57 405 查看
1、安装apk

String dirPath = "/data/data/" + getPackageName() + "/files/test.apk"; //文件需有可读权限
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("file://" + filePath), "application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);


2、卸载apk

方法一(已测试):

Uri packageUri = Uri.parse("package:" + appUnit.pname);
Intent deleteIntent = new Intent();
deleteIntent.setAction(Intent.ACTION_DELETE);
deleteIntent.setData(packageUri);
context.startActivity(deleteIntent);


方法二(未测试):

private void startUninstall(final String pkg) {
if (!InstallUtils.isApkInstalled(mContext, pkg)) {
Toast.makeText(mContext, "程序未安装,无需卸载!", Toast.LENGTH_SHORT).show();
return;
} else {
Uri packageURI = Uri.parse("package:" + pkg);
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
startActivity(uninstallIntent);
}
}


3. 启动Android默认浏览器(已测试

Intent intent= new Intent();
intent.setAction("android.intent.action.VIEW");
Uri content_url = Uri.parse("http://www.cnblogs.com");
intent.setData(content_url);
startActivity(intent);


这样子,android就可以调用起手机默认的浏览器访问。
以下内容均来自转载。未经测试。

附带电话号码(调用系统短信):

[java] view
plaincopy

Intent mIntent = new Intent(Intent.ACTION_VIEW);

mIntent.putExtra("address",phoneNum);

mIntent.putExtra("sms_body", "");

mIntent.setType("vnd.android-dir/mms-sms");

context.startActivity(mIntent);

附带短信内容(调用系统短信):

[java] view
plaincopy

Uri smsToUri = Uri.parse("smsto:");// 联系人地址

Intent mIntent = new Intent(android.content.Intent.ACTION_SENDTO,

smsToUri);

mIntent.putExtra("sms_body",

"abcdefgh");// 短信内容

context.startActivity(mIntent);

附带邮件内容(调用系统邮件):

[java] view
plaincopy

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);

// 文本格式

emailIntent.setType("text/plain");

// 对方邮件地址

emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, "");

// 标题内容

emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "");

// 邮件文本内容

emailIntent

.putExtra(android.content.Intent.EXTRA_TEXT,

"abcdefgh");

context.startActivity(Intent.createChooser(emailIntent,

"Choose Email Client"));

调用系统添加联系人:

[java] view
plaincopy

Intent intent = new Intent(Intent.ACTION_INSERT,

Contacts.CONTENT_URI);

intent.putExtra("name", "");

intent.putExtra("phone", number);

context.startActivity(intent);

调用系统添加或编辑联系人:

[java] view
plaincopy

Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT);

intent.setType("vnd.android.cursor.item/contact");

intent.putExtra(Intents.Insert.PHONE, number);

context.startActivity(intent);

调用系统编辑联系人:

[java] view
plaincopy

Intent i = new Intent(Intent.ACTION_EDIT);

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