自己在遍一個Android小程式,主要是定時設定情景模式,所以需要通過編程來調用飛航模式,搜尋了一下,找不到相關的解釋與說明,最後在國外的論壇上看到了一個解決思路,終於解決了這個問題。代碼如下:1 // 飛行模式
2 protected void offLine(boolean setAirPlane) {
3 Settings.System.putInt(getContentResolver(),
4 Settings.System.AIRPLANE_MODE_ON, setAirPlane ? 1 : 0);
5 Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
6 intent.putExtra("TestCode", "ellic");
7 sendBroadcast(intent);
8
9 }
我們可以通過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);