AndroidはGPSとネットワークがオンになっているかどうかを判断します
4094 ワード
高徳地図でタクシーソフトを作り、アドレスを入力して検索マッチングするにはネットワークがないと検索できないことや、位置を特定するためにGPS状態をオンにし、オンにしなければダイアログボックスのヒントをポップアップし、選択すると制御インタフェースにジャンプします.
以下はGPSが接続されているかどうかの判断です.ポップアップダイアログを開くためのヒントです.コード:
検出するには、このメソッドを適切な場所で呼び出すだけです.
以下は、Wifiとモバイルネットワークのどちらかがオンであればプロンプトダイアログをポップアップせず、いずれもオンでなければポップアップダイアログをポップアップします.コードは以下の通りです.
対応する場所でisConnメソッドを呼び出せばよい.
以下はGPSが接続されているかどうかの判断です.ポップアップダイアログを開くためのヒントです.コード:
private void initGPS() {
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
// GPS ,
if (!locationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) {
Toast.makeText(MainActivity.this, " GPS", Toast.LENGTH_SHORT).show();
final AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle(" GPS ");
dialog.setMessage(" , GPS");
dialog.setPositiveButton(" ", new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// , GPS
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
Toast.makeText(MainActivity.this, " , ", Toast.LENGTH_SHORT).show();
startActivityForResult(intent, 0); //
}
});
dialog.setNeutralButton(" ", new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
arg0.dismiss();
}
});
dialog.show();
} else {
searchRouteResult(startPoint, endPoint);//
// Toast
// Toast.makeText(TrainDetailsActivity.this, "GPS is ready",Toast.LENGTH_LONG).show();
// //
// new AlertDialog.Builder(this).setMessage("GPS is ready").setPositiveButton("OK", null).show();
}
}
検出するには、このメソッドを適切な場所で呼び出すだけです.
以下は、Wifiとモバイルネットワークのどちらかがオンであればプロンプトダイアログをポップアップせず、いずれもオンでなければポップアップダイアログをポップアップします.コードは以下の通りです.
/**
*
* true false
*/
public static boolean isConn(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
}
searchNetwork(context);//
}
return false;
}
/**
* ,
*
*/
public static void searchNetwork(final Context context) {
//
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(" ").setMessage(" , ?").setPositiveButton(" ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = null;
// API 10 3.0
if (android.os.Build.VERSION.SDK_INT > 10) {
intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
} else {
intent = new Intent();
ComponentName component = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings");
intent.setComponent(component);
intent.setAction("android.intent.action.VIEW");
}
context.startActivity(intent);
}
}).setNegativeButton(" ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).show();
}
対応する場所でisConnメソッドを呼び出せばよい.