Android GPS开启或关闭状态

zsn*_*erx 8 gps android state toggle android-manifest

有没有办法在没有任何许可的情况下检查Android GPS是打开还是关闭,只是我不需要切换它的状态.

谢谢

Rau*_*nak 31

在Android上检查GPS状态需要

android.permission.ACCESS_FINE_LOCATION
Run Code Online (Sandbox Code Playgroud)

用于检查GPS状态的代码


 LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE );
 boolean statusOfGPS = manager.isProviderEnabled(LocationManager.GPS_PROVIDER);

Run Code Online (Sandbox Code Playgroud)

  • 这将检查GPS是否已启用.不论它是否真的开启了.这可能是OP所要求的,但有一个重要的区别.如果启用了,那么您可以询问GPS位置而不是网络位置,但您必须记住将GPS关闭. (3认同)

Rak*_*esh 5

脚步 -

  1. 创建在backgroud中运行的服务
  2. 您在Manifest文件中也需要以下权限 -

    android.permission.ACCESS_FINE_LOCATION
    
    Run Code Online (Sandbox Code Playgroud)
  3. 写代码

     final LocationManager manager = (LocationManager)context.getSystemService    (Context.LOCATION_SERVICE );
    
    if ( !manager.isProviderEnabled( LocationManager.GPS_PROVIDER ) )
    
    //what you want to do
     else
    
       //what you want to do
    
    Run Code Online (Sandbox Code Playgroud)
  4. 或者只是你可以检查

    LocationManager manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE );
    boolean statusOfGPS = manager.isProviderEnabled(LocationManager.GPS_PROVIDER);
    
    Run Code Online (Sandbox Code Playgroud)
  5. 持续运行您的服务以监控连接

  6. 从Activity调用您的服务