• <bdo id='dFpuM'></bdo><ul id='dFpuM'></ul>

      <legend id='dFpuM'><style id='dFpuM'><dir id='dFpuM'><q id='dFpuM'></q></dir></style></legend>

      <tfoot id='dFpuM'></tfoot>

      1. <i id='dFpuM'><tr id='dFpuM'><dt id='dFpuM'><q id='dFpuM'><span id='dFpuM'><b id='dFpuM'><form id='dFpuM'><ins id='dFpuM'></ins><ul id='dFpuM'></ul><sub id='dFpuM'></sub></form><legend id='dFpuM'></legend><bdo id='dFpuM'><pre id='dFpuM'><center id='dFpuM'></center></pre></bdo></b><th id='dFpuM'></th></span></q></dt></tr></i><div id='dFpuM'><tfoot id='dFpuM'></tfoot><dl id='dFpuM'><fieldset id='dFpuM'></fieldset></dl></div>

        <small id='dFpuM'></small><noframes id='dFpuM'>

      2. 如何通过其 android id 获取 android 设备的位置

        时间:2023-09-01

          <bdo id='LpbSi'></bdo><ul id='LpbSi'></ul>
        • <small id='LpbSi'></small><noframes id='LpbSi'>

          <i id='LpbSi'><tr id='LpbSi'><dt id='LpbSi'><q id='LpbSi'><span id='LpbSi'><b id='LpbSi'><form id='LpbSi'><ins id='LpbSi'></ins><ul id='LpbSi'></ul><sub id='LpbSi'></sub></form><legend id='LpbSi'></legend><bdo id='LpbSi'><pre id='LpbSi'><center id='LpbSi'></center></pre></bdo></b><th id='LpbSi'></th></span></q></dt></tr></i><div id='LpbSi'><tfoot id='LpbSi'></tfoot><dl id='LpbSi'><fieldset id='LpbSi'></fieldset></dl></div>

              1. <legend id='LpbSi'><style id='LpbSi'><dir id='LpbSi'><q id='LpbSi'></q></dir></style></legend>
                <tfoot id='LpbSi'></tfoot>
                  <tbody id='LpbSi'></tbody>
                  本文介绍了如何通过其 android id 获取 android 设备的位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我是 android 新手,最近开始学习 Android,我正在尝试通过其唯一的 android id 获取任何 android 设备的位置.这样我就可以通过 GPS 或网络提供商跟踪大概或确切的位置.详细地说,每当我在我的应用程序中输入任何 Android id 时,我都可以在我的应用程序中获取设备位置.感谢您的热心帮助.

                  I am new in android and recently start learning about Android and I am trying to get location of any android device by its unique android id. By that I can track the approx or exact location either by GPS or network provider. In detail I mean to say that whenever i enter any Android id in my app i can get device location in my application. Thanks for your kind help.

                  推荐答案

                  终于可以用这段代码了:

                  Finally I am able to do with this code:

                  public class MyService extends Service implements LocationListener{
                  String GPS_FILTER = "";
                  Thread triggerService;
                  LocationListener locationListener;
                  LocationManager lm;
                  private static final long MINIMUM_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meter
                  
                  private static final long MINIMUM_TIME_BETWEEN_UPDATES = 1000 * 60 * 3; // 1 minute
                  protected LocationManager locationManager;
                  boolean isRunning = true;
                  
                  Calendar cur_cal = Calendar.getInstance();
                  
                  Location location;
                  double latitude; // latitude
                  double longitude;
                  UserFunctions userFunction;
                  private JSONObject json;
                  private AlertDialogManager alert = new AlertDialogManager();
                  
                  private static String KEY_SUCCESS = "success";
                  private static String KEY_ERROR = "error";
                  private static String KEY_ERROR_MSG = "error_msg";
                  private static String KEY_FLAG = "flag";
                  String android_id ;
                  String userName;
                  
                  @Override
                  public void onCreate() {
                      // TODO Auto-generated method stub
                      super.onCreate();
                      Intent intent = new Intent(this, MyService.class);
                      PendingIntent pintent = PendingIntent.getService(getApplicationContext(),
                              0, intent, 0);
                      AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
                  
                      android_id = Settings.Secure.getString(getContentResolver(),
                                  Settings.Secure.ANDROID_ID);
                      if (getAccount() != null) {
                          userName = getAccount();
                      }
                  
                      GPS_FILTER = "MyGPSLocation";
                      // locationManager = (LocationManager)
                      // getSystemService(Context.LOCATION_SERVICE);
                      // locationManager.requestLocationUpdates(
                      // LocationManager.GPS_PROVIDER,
                      // MINIMUM_TIME_BETWEEN_UPDATES,
                      // MINIMUM_DISTANCE_CHANGE_FOR_UPDATES,
                      // new MyLocationListener());
                      cur_cal.setTimeInMillis(System.currentTimeMillis());
                      alarm.setRepeating(AlarmManager.RTC_WAKEUP, cur_cal.getTimeInMillis(),
                              60 * 1000*3, pintent);
                  }
                  
                  @Override
                  public void onStart(Intent intent, int startId) {
                      // TODO Auto-generated method stub
                      super.onStart(intent, startId);
                      //turnGPSOn();
                      /*Toast.makeText(getApplicationContext(), "Hello1", Toast.LENGTH_LONG)
                              .show();*/
                      LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
                       locationListener = new MyLocationListener();
                       locationManager.requestLocationUpdates(
                                  LocationManager.NETWORK_PROVIDER,
                                  MINIMUM_TIME_BETWEEN_UPDATES,
                                  MINIMUM_DISTANCE_CHANGE_FOR_UPDATES, (LocationListener) this);
                       if (locationManager != null) {
                              location = locationManager
                                      .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
                              if (location != null) {
                                  latitude = location.getLatitude();
                                  longitude = location.getLongitude();
                                  /*Toast.makeText(getApplicationContext(), latitude + ", ll" + longitude, Toast.LENGTH_LONG)
                                  .show();*/
                                  userFunction = new UserFunctions();
                                  new YourAsyncTaskLogin().execute();
                              }
                          }
                  
                       location =locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
                  
                      locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
                              MINIMUM_TIME_BETWEEN_UPDATES, 1.0f, locationListener);
                  
                  }
                  
                  @Override
                  public void onDestroy() {
                      // TODO Auto-generated method stub
                      super.onDestroy();
                      // removeGpsListener();
                  }
                  
                  
                  
                  @Override
                  public IBinder onBind(Intent intent) {
                      // TODO Auto-generated method stub
                      return null;
                  }
                  
                  // private void removeGpsListener(){
                  // try{
                  // lm.removeUpdates(locationManager);
                  // }
                  // catch(Exception ex){
                  // System.out.println("Exception in GPSService --- "+ex);
                  // }
                  // }
                  
                  private class MyLocationListener implements LocationListener {
                  
                      public void onLocationChanged(Location location) {
                          postdata(location.getLatitude(), location.getLongitude());
                          String message = String.format(
                                  "New Location 
                   Longitude: %1$s 
                   Latitude: %2$s",
                                  location.getLongitude(), location.getLatitude());
                          /*Toast.makeText(MyService.this, message, Toast.LENGTH_LONG).show();
                          turnGPSOff();*/
                      }
                  
                      private void postdata(double latitude, double longitude) {
                          // TODO Auto-generated method stub
                          /*Toast.makeText(getApplicationContext(),
                                  latitude + ", " + longitude, Toast.LENGTH_LONG).show();*/
                      }
                  
                      public void onStatusChanged(String s, int i, Bundle b) {
                          // Toast.makeText(MyService.this, "Provider status changed",
                          // Toast.LENGTH_LONG).show();
                      }
                  
                      public void onProviderDisabled(String s) {
                          // Toast.makeText(MyService.this,
                          // "Provider disabled by the user. GPS turned off",
                          // Toast.LENGTH_LONG).show();
                      }
                  
                      public void onProviderEnabled(String s) {
                          // Toast.makeText(MyService.this,
                          // "Provider enabled by the user. GPS turned on",
                          // Toast.LENGTH_LONG).show();
                      }
                  
                  }
                  
                  public void turnGPSOn() {
                      Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
                      intent.putExtra("enabled", true);
                      this.sendBroadcast(intent);
                  
                      String provider = Settings.Secure.getString(getContentResolver(),
                              Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
                      if (!provider.contains("gps")) { // if gps is disabled
                          final Intent poke = new Intent();
                          poke.setClassName("com.android.settings",
                                  "com.android.settings.widget.SettingsAppWidgetProvider");
                          poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
                          poke.setData(Uri.parse("3"));
                          this.sendBroadcast(poke);
                  
                      }
                  }
                  
                  // automatic turn off the gps
                  public void turnGPSOff() {
                      String provider = Settings.Secure.getString(getContentResolver(),
                              Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
                      if (provider.contains("gps")) { // if gps is enabled
                          final Intent poke = new Intent();
                          poke.setClassName("com.android.settings",
                                  "com.android.settings.widget.SettingsAppWidgetProvider");
                          poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
                          poke.setData(Uri.parse("3"));
                          this.sendBroadcast(poke);
                      }
                  }
                  
                  @Override
                  public void onLocationChanged(Location location) {
                      // TODO Auto-generated method stub
                  
                  }
                  
                  @Override
                  public void onStatusChanged(String provider, int status, Bundle extras) {
                      // TODO Auto-generated method stub
                  
                  }
                  
                  @Override
                  public void onProviderEnabled(String provider) {
                      // TODO Auto-generated method stub
                  
                  }
                  
                  @Override
                  public void onProviderDisabled(String provider) {
                      // TODO Auto-generated method stub
                  
                  }
                  
                  
                  class YourAsyncTaskLogin extends AsyncTask<Void, Void, Void> {
                  
                      //private ProgressDialog _ProgressDialog;
                  
                      @Override
                      protected void onPreExecute() {
                          // show your dialog here
                  
                          /*_ProgressDialog = ProgressDialog.show(getApplicationContext(), "",
                                  "Loading", true);*/
                  
                      }
                  
                      @Override
                      protected Void doInBackground(Void... params) {
                          json = userFunction.sendLocations(android_id, userName,latitude+"", longitude+"");
                          return null;
                      }
                  
                      protected void onPostExecute(Void result) {
                          try {
                              Log.e("Key_Success:",
                                      json.getString(KEY_SUCCESS));
                              if (json.getString(KEY_SUCCESS) != null) {
                                  // loginErrorMsg.setText("");
                                  String res = json.getString(KEY_SUCCESS);
                  
                                  if (Integer.parseInt(res) == 1) {
                  
                  
                  
                                  } else {
                                      // Error in login
                                      // loginErrorMsg.setText("Incorrect username/password");
                  
                                      //_ProgressDialog.cancel();
                  
                  
                                  }
                  
                              } else {
                                  // Error in login
                                  // loginErrorMsg.setText("Incorrect username/password");
                  
                                  //_ProgressDialog.cancel();         
                  
                              }
                          } catch (JSONException e) {
                              e.printStackTrace();
                              Log.e("error", e.getMessage());
                          }
                  
                          //_ProgressDialog.dismiss();
                      }
                  }
                  public String getAccount() {
                      AccountManager manager = (AccountManager) getSystemService(ACCOUNT_SERVICE);
                      Account[] list = manager.getAccountsByType("com.google");
                      if (list.length != 0) {
                          String email = list[0].name;
                          return email;
                      } else {
                          return null;
                      }
                  }
                  }
                  

                  这篇关于如何通过其 android id 获取 android 设备的位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:使用地理位置按钮检索当前位置和邮编 下一篇:如何计算斜边和方位

                  相关文章

                  最新文章

                1. <tfoot id='e0W3P'></tfoot>

                      <legend id='e0W3P'><style id='e0W3P'><dir id='e0W3P'><q id='e0W3P'></q></dir></style></legend>
                    1. <small id='e0W3P'></small><noframes id='e0W3P'>

                      <i id='e0W3P'><tr id='e0W3P'><dt id='e0W3P'><q id='e0W3P'><span id='e0W3P'><b id='e0W3P'><form id='e0W3P'><ins id='e0W3P'></ins><ul id='e0W3P'></ul><sub id='e0W3P'></sub></form><legend id='e0W3P'></legend><bdo id='e0W3P'><pre id='e0W3P'><center id='e0W3P'></center></pre></bdo></b><th id='e0W3P'></th></span></q></dt></tr></i><div id='e0W3P'><tfoot id='e0W3P'></tfoot><dl id='e0W3P'><fieldset id='e0W3P'></fieldset></dl></div>

                        <bdo id='e0W3P'></bdo><ul id='e0W3P'></ul>