Intent常见调用系统应用的方法
《》我们知道设定和组合Intent的属性,就能够从当前的应用启动Android智能手机系统中的应用,一些常见的调用方法如下:
引用自http://www.cnblogs.com/smyhvae/p/3959204.html,向作者表示感谢
1、回到桌面
Button bt = (Button) findViewById(R.id.button); bt.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { Intent intent = new Intent(); intent.setAction(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); startActivity(intent); } });
2、打开指定网页
Button bt = (Button) findViewById(R.id.button); bt.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); Uri data = Uri.parse("http://www.baidu.com"); intent.setData(data); startActivity(intent); } });
3、打电话
【方式一】打开拨打电话的界面:
Button bt = (Button) findViewById(R.id.button);
bt.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);
}
});:
【方式二】直接拨打电话:
Button bt = (Button) findViewById(R.id.button); bt.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:10086")); startActivity(intent); } });
要使用这个功能必须在配置文件中加入权限:(加一行代码)
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.penglee.test_intent1" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="17" android:targetSdkVersion="17" /> <uses-permission android:name="android.permission.CALL_PHONE"/>
注意权限元素的位置
4、发送短信
【方式一】打开发送短信的界面:action+type
Button bt = (Button) findViewById(R.id.button);
bt.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setType("vnd.android-dir/mms-sms");
intent.putExtra("sms_body", "具体短信内容");
startActivity(intent);
}
});
【方式二】打开发短信的界面(同时指定电话号码):action+data
1 Intent intent = new Intent(Intent.ACTION_SENDTO);
2 intent.setData(Uri.parse("smsto:18780260012"));
3 intent.putExtra("sms_body", "具体短信内容"); //"sms_body"为固定内容
4 startActivity(intent);
5、播放指定路径音乐:action+data+type
1 Intent intent = new Intent(Intent.ACTION_VIEW);
2 Uri uri = Uri.parse("file:///storage/sdcard0/平凡之路.mp3"); ////路径也可以写成:"/storage/sdcard0/平凡之路.mp3"
3 intent.setDataAndType(uri, "audio/mp3"); //方法:Intent android.content.Intent.setDataAndType(Uri data, String type)
4 startActivity(intent);
6、卸载程序:action+data(例如点击按钮,卸载某个应用程序,根据包名来识别)
1 Intent intent = new Intent(Intent.ACTION_DELETE);
2 Uri data = Uri.parse("package:com.example.smyh006intent01");
3 intent.setData(data);
4 startActivity(intent);
7、安装程序:action+data+type
1 Intent intent = new Intent(Intent.ACTION_VIEW);
2 Uri data = Uri.fromFile(new File("/storage/sdcard0/AndroidTest/smyh006_Intent01.apk")); //路径不能写成:"file:///storage/sdcard0/···"
3 intent.setDataAndType(data, "application/vnd.android.package-archive"); //Type的字符串为固定内容
4 startActivity(intent);