package org.techbooster.uiautomationsample; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.ConnectivityManager; import android.os.Bundle; import android.provider.Settings; import android.widget.TextView; public class MainActivity extends Activity { private TextView mTextView; private BroadcastReceiver mReceiver; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTextView = (TextView) findViewById(R.id.text_view); // アプリ起動時の機内モードの状態をTextViewに表示 if (isAirplaneMode()) { mTextView.setText(R.string.airplane_mode_on); } else { mTextView.setText(R.string.airplane_mode_off); } // 通信状態の変更を取得するためのBroadcastReceiverを作成し、登録 mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { // 通信状態の変更通知を受けて、TextViewの内容を更新 if (isAirplaneMode()) { mTextView.setText(R.string.airplane_mode_on); } else { mTextView.setText(R.string.airplane_mode_off); } } }; IntentFilter filter = new IntentFilter( ConnectivityManager.CONNECTIVITY_ACTION); registerReceiver(mReceiver, filter); } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(mReceiver); } /** * 機内モードがOnならtrueを、Offならfalseを返す * * @return */ private boolean isAirplaneMode() { return Settings.System.getInt(getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0) != 0; } }