调用android系统程序

http://blog.csdn.net/steven_zyz/article/details/6931604

1、调用飞行模式.

代码如下:

java代码:
protected void offLine(boolean setAirPlane) {
Settings.System.putInt(getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, setAirPlane ? 1 : 0);
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("TestCode", "ellic");
sendBroadcast(intent);
}


       我们可以通过AirPlaneModeOn = Settings.System.getInt(mContext.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0) ==1? true:false;来判断手机是否处于飞行模式。

  然后分析下Android编程中调用系统程序的方法,调用系统程序最方便的就是直接通过Intent来激活,Intent真是个好东西,有空要再琢磨琢磨。用几个例子说明一下:

  2、调用系统邮件程序

java代码:
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);//建立Intent对象
emailIntent.setType(“plain/text”);//设置文本格式
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{}); //设置对方邮件地址
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, “Hello World!”);//设置标题内容
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, “It is body-Hello World!”);//设置邮件文本内容

startActivity(Intent.createChooser(emailIntent, “Sending mail…”));//启动一个新的ACTIVITY


      3、调用系统短信程序

java代码:
Uri uri = Uri.parse("smsto:0800000123");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
it.putExtra("sms_body", "The SMS text");
startActivity(it);


      4、调用系统闹钟程序

这里需要说明的是调用系统闹钟程序要注意的地方,在不同的sdk不同classname不同,并且不同的厂商生产的Android也有可能不同,像在Motorola的Defy中,闹钟的classname是com.motorola.blur.alarmclock而不是 com.android.alarmclock.AlarmClock,所以就要相应的修改这个方法: public Intent setClassName (String packageName, String className).

java代码:
Intent intent = new Intent();
intent.setClassName(“com.android.alarmclock”, “com.android.alarmclock.AlarmClock”);
startActivity(intent);


5.调用打电话程序

这里需要说明的是inputstr是要拨打的电话号码。

java代码:

Intent phoneIntent= new Intern("android.intent.action.CALL",Uri.parse("tel"+inputstr);

startActivity(intent);


显示网页: 
    Uri uri = Uri.parse("http://www.google.com");
  Intent it = new Intent(Intent.ACTION_VIEW,uri);
  startActivity(it);
显示地图:
  Uri uri = Uri.parse("geo:38.899533,-77.036476");
  Intent it = new Intent(Intent.Action_VIEW,uri);
  startActivity(it);

路径规划:
   Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat startLng&daddr=endLat endLng&hl=en");
  Intent it = new Intent(Intent.ACTION_VIEW,URI);
  startActivity(it);

拨打电话:
  调用拨号程序 Uri uri = Uri.parse("tel:xxxxxx");
  Intent it = new Intent(Intent.ACTION_DIAL, uri);
  startActivity(it);

  Uri uri = Uri.parse("tel.xxxxxx");
  Intent it =new Intent(Intent.ACTION_CALL,uri);
  要使用这个必须在配置文件中加入

发送SMS/MMS:
  调用发送短信的程序 Intent it = new Intent(Intent.ACTION_VIEW);
  it.putExtra("sms_body", "The SMS text");
  it.setType("vnd.android-dir/mms-sms");
  startActivity(it);
  发送短信 Uri uri = Uri.parse("smsto:0800000123");
  Intent it = new Intent(Intent.ACTION_SENDTO, uri);
  it.putExtra("sms_body", "The SMS text");
  startActivity(it);
  发送彩信 Uri uri = Uri.parse("content://media/external/images/media/23");
  Intent it = new Intent(Intent.ACTION_SEND);
  it.putExtra("sms_body", "some text");
  it.putExtra(Intent.EXTRA_STREAM, uri);
  it.setType("image/png");
  startActivity(it);

发送Email
  Uri uri = Uri.parse("mailto:xxx@abc.com");
  Intent it = new Intent(Intent.ACTION_SENDTO, uri);
  startActivity(it);

  Intent it = new Intent(Intent.ACTION_SEND); 
  it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");
  it.putExtra(Intent.EXTRA_TEXT, "The email body text");
  it.setType("text/plain");
  startActivity(Intent.createChooser(it, "Choose Email Client"));

  Intent it=new Intent(Intent.ACTION_SEND);
  String[] tos={"me@abc.com"};
  String[] ccs={"you@abc.com"};
  it.putExtra(Intent.EXTRA_EMAIL, tos);
  it.putExtra(Intent.EXTRA_CC, ccs);
  it.putExtra(Intent.EXTRA_TEXT, "The email body text");
  it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
  it.setType("message/rfc822");
  startActivity(Intent.createChooser(it, "Choose Email Client"));

添加附件
    Intent it= new Intent(Intent.ACTION_SEND);
  it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
  it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");
  sendIntent.setType("audio/mp3");
  startActivity(Intent.createChooser(it, "Choose Email Client"));

播放多媒体
  Intent it = new Intent(Intent.ACTION_VIEW);
  Uri uri = Uri.parse("file:///sdcard/song.mp3");
  it.setDataAndType(uri, "audio/mp3");
  startActivity(it);

  Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");
  Intent it = new Intent(Intent.ACTION_VIEW, uri);
  startActivity(it);

  Uninstall 程序 Uri uri = Uri.fromParts("package", strPackageName, null);
  Intent it = new Intent(Intent.ACTION_DELETE, uri);
  startActivity(it);
  sdk 文档 android_sdk/docs/guide/appendix/g-app-intents.html

一、打开一个网页,类别是Intent.ACTION_VIEW

  Uri uri = Uri.parse(“http://blog.3gstdy.com/”);

  Intent intent = new Intent(Intent.ACTION_VIEW, uri);

二、打开地图并定位到一个点

  Uri uri = Uri.parse(“geo:52.76,-79.0342″);

  Intent intent = new Intent(Intent.ACTION_VIEW, uri);

三、打开拨号界面 ,类型是Intent.ACTION_DIAL

  Uri uri = Uri.parse(“tel:10086″);

  Intent intent = new Intent(Intent.ACTION_DIAL, uri);

四、直接拨打电话,与三不同的是,这个直接拨打电话,而不是打开拨号界面

  Uri uri = Uri.parse(“tel:10086″);

  Intent intent = new Intent(Intent.ACTION_CALL, uri);

五、卸载一个应用,Intent的类别是Intent.ACTION_DELETE

  Uri uri = Uri.fromParts(“package”, “xxx”, null);

  Intent intent = new Intent(Intent.ACTION_DELETE, uri);

六、安装应用程序 ,Intent的类别是Intent.ACTION_PACKAGE_ADDED

  Uri uri = Uri.fromParts(“package”, “xxx”, null);

  Intent intent = new Intent(Intent.ACTION_PACKAGE_ADDED, uri);

七、播放音频文件

  Uri uri = Uri.parse(“file:///sdcard/download/everything.mp3″);

  Intent intent = new Intent(Intent.ACTION_VIEW, uri);

  intent.setType(“audio/mp3″);

八、打开发邮件界面

  Uri uri= Uri.parse(“mailto:admin@3gstdy.com”);

  Intent intent = new Intent(Intent.ACTION_SENDTO, uri);

九、发邮件,与八不同这里是将邮件发送出去,

  Intent intent = new Intent(Intent.ACTION_SEND);

  String[] tos = { “admin@3gstdy.com ” };

  String[] ccs = { “webmaster@3gstdy.com ” };

  intent.putExtra(Intent.EXTRA_EMAIL, tos);

  intent.putExtra(Intent.EXTRA_CC, ccs);

  intent.putExtra(Intent.EXTRA_TEXT, “I come from http://blog.3gstdy.com ”);

  intent.putExtra(Intent.EXTRA_SUBJECT, “http://blog.3gstdy.com”);intent.setType(“message/rfc882″);

  Intent.createChooser(intent, “Choose Email Client”);

  //发送带附件的邮件

  Intent intent = new Intent(Intent.ACTION_SEND);

  intent.putExtra(Intent.EXTRA_SUBJECT, “The email subject text”);

  intent.putExtra(Intent.EXTRA_STREAM, “file:///sdcard/mysong.mp3″);

  intent.setType(“audio/mp3″);

  startActivity(Intent.createChooser(intent, “Choose Email Client”));

十、发短信

  Uri uri= Uri.parse(“tel:10086″);

  Intent intent = new Intent(Intent.ACTION_VIEW, uri);

  intent.putExtra(“sms_body”, “I come from http://blog.3gstdy.com ”);

  intent.setType(“vnd.Android -dir/mms-sms”);

 十一、直接发邮件

  Uri uri= Uri.parse(“smsto://100861″);

  Intent intent = new Intent(Intent.ACTION_SENDTO, uri);

  intent.putExtra(“sms_body”, “3g android http://blog.3gstdy.com ”);

十二、发彩信

  Uri uri= Uri.parse(“content://media/external/images/media/23″);

  Intent intent = new Intent(Intent.ACTION_SEND);

  intent.putExtra(“sms_body”, “3g android http://blog.3gstdy.com ”);

  intent.putExtra(Intent.EXTRA_STREAM, uri);

  intent.setType(“image/png”);

十三、# Market 相关

  1 //寻找某个应用

  Uri uri = Uri.parse(“market://search?q=pname:pkg_name”);

  Intent it = new Intent(Intent.ACTION_VIEW, uri);

  startActivity(it);

  //where pkg_name is the full package path for an application

  2 //显示某个应用的相关信息

  Uri uri = Uri.parse(“market://details?id=app_id”);

  Intent it = new Intent(Intent.ACTION_VIEW, uri);

  startActivity(it);

  //where app_id is the application ID, find the ID

  //by clicking on your application on Market home

  //page, and notice the ID from the address bar

十四、路径规划

  Uri uri = Uri.parse(“http://maps.google .com/maps?f=d&saddr=startLat startLng&daddr=endLat endLng&hl=en”);

  Intent it = new Intent(Intent.ACTION_VIEW, uri);

  startActivity(it);

  //where startLat, startLng, endLat, endLng are a long with 6 decimals like: 50.123456


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值