BothWings.java
package jp.co.wandaroid.bothwings; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.SystemClock; import android.provider.Settings; public class BothWings extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); // フライトモードのチェック boolean isEnabled = Settings.System.getInt(getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0) == 1; // 状況によるフライトモードの変更処理 if (isEnabled) { toggleAirplaneMode(false); } else { toggleAirplaneMode(true); do { SystemClock.sleep(2000); isEnabled = Settings.System.getInt(getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 0) == 1; } while (!isEnabled); toggleAirplaneMode(false); } SystemClock.sleep(1000); // 終了処理 finish(); } private void toggleAirplaneMode(boolean mode) { // フライトモード・トグル Settings.System.putInt(getContentResolver(), Settings.System.AIRPLANE_MODE_ON, mode ? 1 : 0); // インテント・ブロードキャスト Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED); intent.putExtra("state", mode); sendBroadcast(intent); } }
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="jp.co.wandaroid.bothwings" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="7" /> <uses-permission android:name="android.permission.WRITE_SETTINGS"></uses-permission> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".BothWings" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
機能で気に入らない点はいくつかある。
・起動時にActivityとして黒い画面がフルに広がること
ーー>画面が無いActivity は無理なのか?Widget や Service を使うしか無いか
・フライトモードのオン→オフの切り替えが正確でないこと
ーー>現在、固定秒数のタイムラグを設けての切り替えを行っている
ーー>オンに切り替わった事を確認してからオフにしたいが、技術力の問題でできていない(今現在のフライトモードのオンオフを訊いても、切り替わる瞬間では正確なモードが返ってこない)
・ エラーチェックしてない
ーー>面倒臭いのでつけていないだけ。バージョンアップでは付ける予定
改良点は、いくつも思い当たるので改良を続けていく予定。
予定・・・予定・・・よてい・・・
0 件のコメント:
コメントを投稿