刚看到在一个Android小程序,主要是定时设置情景模式,所以需要通过编程来调用飞行模式,自己也在论坛上看了逛了一圈,挺不错的。代码如图所示:
我们可以通过AirPlaneModeOn = Settings.System.getInt(mContext.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0) ==1? true:false;来判断手机是否处于飞行模式。
然后分析下Android编程中调用系统程序的方法,调用系统程序最方便的就是直接通过Intent来激活,Intent真是个好东西,有空要再琢磨琢磨。用几个例子说明一下:
1、调用系统邮件程序
- 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
2、调用系统短信程序
- Uri uri = Uri.parse("smsto:0800000123");
- Intent it = new Intent(Intent.ACTION_SENDTO, uri);
- it.putExtra("sms_body", "The SMS text");
- startActivity(it);
3、调用系统闹钟程序
这里需要说明的是调用系统闹钟程序要注意的地方,在不同的sdk不同classname不同,并且不同的厂商生产的Android也有可能不同,像在Motorola的Defy中,闹钟的classname是com.motorola.blur.alarmclock而不是com.android.alarmclock.AlarmClock,所以就要相应的修改这个方法:
- public Intent setClassName (String packageName, String className).
- Intent intent = new Intent();
- intent.setClassName(“com.android.alarmclock”, “com.android.alarmclock.AlarmClock”);
- startActivity(intent);
【编辑推荐】