国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 監聽手機GPS打開狀態實現代碼

2019-12-12 02:53:06
字體:
來源:轉載
供稿:網友

Android 監聽手機GPS打開狀態實現代碼

GPS_Presenter

package com.yiba.core;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.location.LocationManager;/** * Created by ${zhaoyanjun} on 2017/3/29. * GPS 開關監聽 */public class GPS_Presenter {  private Context mContext ;  private Receiver receiver ;  private GPS_Interface mInterface ;  private String GPS_ACTION = "android.location.PROVIDERS_CHANGED" ;  public GPS_Presenter(Context context , GPS_Interface mInterface ){    this.mContext = context ;    this.mInterface = mInterface ;    observeWifiSwitch();  }  private void observeWifiSwitch(){    IntentFilter filter = new IntentFilter();    filter.addAction( GPS_ACTION );    receiver = new Receiver() ;    mContext.registerReceiver(receiver, filter);  }  /**   * 釋放資源   */  public void onDestroy(){    if ( receiver != null ){      mContext.unregisterReceiver( receiver );    }    if (mContext!=null){      mContext = null;    }  }  class Receiver extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {      if (intent.getAction().matches( GPS_ACTION )) {         if ( mInterface != null ){           mInterface.gpsSwitchState( gpsIsOpen( context ));         }      }    }  }  /**   * 判斷GPS是否開啟,GPS或者AGPS開啟一個就認為是開啟的   * @param context   * @return true 表示開啟   */  public boolean gpsIsOpen(final Context context) {    LocationManager locationManager        = (LocationManager) context.getApplicationContext().getSystemService(Context.LOCATION_SERVICE);    // 通過GPS衛星定位,定位級別可以精確到街(通過24顆衛星定位,在室外和空曠的地方定位準確、速度快)    boolean gps = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);    // 通過WLAN或移動網絡(3G/2G)確定的位置(也稱作AGPS,輔助GPS定位。主要用于在室內或遮蓋物(建筑群或茂密的深林等)密集的地方定位)    boolean network = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);    if (gps || network) {      return true;    }    return false;  }}

GPS_Interface 回調接口

package com.yiba.core;/** * Created by ${zhaoyanjun} on 2017/3/29. * gps 開關監聽 */public interface GPS_Interface {  void gpsSwitchState( boolean gpsOpen );}

在 Activity 中使用

package com.yiba.core;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.Toast;public class MainActivity extends AppCompatActivity implements GPS_Interface {  private GPS_Presenter gps_presenter ;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    gps_presenter = new GPS_Presenter( this , this ) ;  }  @Override  protected void onDestroy() {    super.onDestroy();    //釋放資源    if ( gps_presenter != null ){      gps_presenter.onDestroy();    }  }  @Override  public void gpsSwitchState(boolean gpsOpen) {    if ( gpsOpen ){      Toast.makeText(this, " 手機GPS 打開", Toast.LENGTH_SHORT).show();    }else {      Toast.makeText(this, " 手機GPS 關閉", Toast.LENGTH_SHORT).show();    }  }}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 舞钢市| 柳河县| 敦化市| 宿迁市| 南阳市| 南投市| 四会市| 察雅县| 西畴县| 界首市| 西丰县| 湖北省| 黑山县| 林西县| 灵丘县| 普陀区| 崇州市| 义马市| 托克托县| 松滋市| 丹江口市| 天镇县| 双鸭山市| 宁波市| 潮州市| 阿拉善左旗| 泰安市| 沐川县| 肇东市| 明水县| 察隅县| 彩票| 睢宁县| 安化县| 高清| 鹤壁市| 清丰县| 吴堡县| 景东| 蛟河市| 清流县|