2017-12-10 12 views
-1

Google PlacePickerとGoogle StreetViewを使用するアプリケーションがあります。飛行機モードのデバイスでアプリケーションをテストする必要があります。ネットワーク/飛行機モードが有効かどうかを確認しますか?

私はそれがアクティブでない場合、私はToast以下は

は2がある活動する活動のためのコードで表示したいと思い、機内モードが有効であれば、それはこの活動に達したときに、アプリケーションがチェックしたいですボタンの1つがPlacePickerをロードし、もう一方がストリートビューを含む別のアクティビティをロードします。

私はこのHow can one detect airplane mode on Android?答えを見ていると私は私が私の答えにしようとしているコードを持っていることがあるが、それは誰かがどのようにこの作業

public class PlacePickerActivity extends AppCompatActivity { 

int PLACE_PICKER_REQUEST = 1; 
TextView tvPlace; 

private Button buttonStepsActivity; 
private Button buttonStreet; 

private boolean isAirplaneModeOn; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_place_picker); 

tvPlace = (TextView)findViewById(R.id.tvPlace); 

//StreetView 
buttonStreet = (Button) findViewById(R.id.buttonStreet); 

if(isAirplaneModeOn) { 
    Toast.makeText(this,"Aeroplane mode active",Toast.LENGTH_LONG).show(); 
} 

} 

private static boolean isAirplaneModeOn(Context context) { 

return Settings.System.getInt(context.getContentResolver(), 
     Settings.System.AIRPLANE_MODE_ON, 0) != 0; 
} 


public void goPlacePicker(View v) { 
// Construct an intent for the place picker 
try { 
    PlacePicker.IntentBuilder intentBuilder = 
      new PlacePicker.IntentBuilder(); 
    Intent intent = intentBuilder.build(this); 
    // Start the intent by requesting a result, 
    // identified by a request code. 
    startActivityForResult(intentBuilder.build(this), PLACE_PICKER_REQUEST); 

} catch (GooglePlayServicesRepairableException e) { 
    e.printStackTrace(); 
} catch (GooglePlayServicesNotAvailableException e) { 
    e.printStackTrace(); 
} 
} 

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
if (requestCode == PLACE_PICKER_REQUEST) { 
    if (resultCode == RESULT_OK) { 
     Place place = PlacePicker.getPlace(data, this); 
     String toastMsg = String.format("You have chosen: %s", place.getName()); 

     Toast.makeText(this, toastMsg, Toast.LENGTH_LONG).show(); 
    } 
} 
} 
+0

の可能性のある重複したこの権限を追加[方法1は、Android上で機内モードを検出することができますか?](https://stackoverflow.com/質問/ 4319212/how-can-one-detect-aircraft-mode-on-android) – Selvin

+0

他の回答とコメントをお読みください – Selvin

+0

他の回答とコメントはどうですか? – DToon12

答えて

0

を取得する方法を教えてくださいすることができ

を動作しません。検索ネットワークが有効

この方法を使用し

public static boolean isNetworkAvailable(Context mContext) { 
    ConnectivityManager connectivity = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); 
    if (connectivity != null) { 
     NetworkInfo[] info = connectivity.getAllNetworkInfo(); 
     if (info != null) { 
      for (int i = 0; i < info.length; i++) { 
       if (info[i].getState() == NetworkInfo.State.CONNECTED) { 

        return true; 
       } 
      } 
     } 
    } 
    return false; 
} 

検索機内モードは

private static boolean isAirplaneModeOn(Context context) { 
return Settings.System.getInt(context.getContentResolver(), 
     Settings.System.AIRPLANE_MODE_ON, 0) != 0; 
} 

を有効

<uses-permission android:name="android.permission.WRITE_SETTINGS" /> 
+0

これを自分のアクティビティに追加しました。メッセージが表示されるので、デバイスが飛行機モードになっていると、飛行機モードになっていることをユーザーに知らせるメッセージが表示されます。 – DToon12

関連する問題