扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
若使用的是vivo手机,Android系统是多个功能和服务的集合体,比如权限管理、蓝牙设置、电话服务、指纹与密码等常用功能有关的耗电会被计入Android系统,如果第三方软件使用到这些功能,电量也会被计入Android系统,所以我们看到Android系统程序耗电较高,实际和第三方软件的使用情况有关,您可以使用“一键加速”清理后台不必要的程序,适当调低屏幕亮度和音量;另外进入设置--电池,根据手机电量情况选择合适的省电模式,延长手机续航时间。
目前创新互联公司已为上1000+的企业提供了网站建设、域名、虚拟主机、网站托管、服务器租用、企业网站设计、井陉网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
1.第一种方法
private void toggleGPS() {
Intent gpsIntent = new Intent();
gpsIntent.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
gpsIntent.addCategory("android.intent.category.ALTERNATIVE");
gpsIntent.setData(Uri.parse("custom:3"));
try {
PendingIntent.getBroadcast(StartActivity.this, 0, gpsIntent, 0).send();
} catch (CanceledException e) {
e.printStackTrace();
}
}
2.第二种方法
private void openGPSSettings() {
//获取GPS现在的状态(打开或是关闭状态)
boolean gpsEnabled = Settings.Secure.isLocationProviderEnabled( getContentResolver(), LocationManager.GPS_PROVIDER );
if(gpsEnabled)
{
//关闭GPS
Settings.Secure.setLocationProviderEnabled( getContentResolver(), LocationManager.GPS_PROVIDER, false );
}
else
{
//打开GPS
Settings.Secure.setLocationProviderEnabled( getContentResolver(), LocationManager.GPS_PROVIDER, true);
}
3.第三种方法(手动设置)
LocationManager alm = (LocationManager)StartActivity.this.getSystemService(Context.LOCATION_SERVICE);
if (alm.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER))
{
Toast.makeText(this, "GPS模块正常", Toast.LENGTH_SHORT).show();
}
Toast.makeText(this, "请开启GPS!", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS);
startActivityForResult(intent,0); //此为设置完成后返回到获取界面
我们在做手机开发的时候,往往需要获取用户当前的位置,以使用户获得更好的体验。这就需要我们在程序中写出判断用户是否打开GPS定位系统,并对用户做出提示。
判断用户是否打开GPS代码如下:
12345678910111213
public static final boolean isOPen(final Context context) { LocationManager locationManager = (LocationManager) context.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系统,如果我的应用必须打开GPS(比如说一些租车、送餐类型APP需要获取用户的位置信息),就需要强制用户打开GPS定位。代码如下:
123456789101112
public static final void openGPS(Context context) { Intent GPSIntent = new Intent(); GPSIntent.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider"); GPSIntent.addCategory("android.intent.category.ALTERNATIVE"); GPSIntent.setData(Uri.parse("custom:3")); try { PendingIntent.getBroadcast(context, 0, GPSIntent, 0).send(); } catch (CanceledException e) { e.printStackTrace(); } }
附录:需要在Mainfast.xml中添加的权限
uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /
uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /
uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /
uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /
uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /
uses-permission android:name="android.permission.INTERNET" /
1、解锁手机进入主界面,选择“设置”
2、进入设置界面,选择“定位服务”
3、进入定位设置界面后,将“定位服务”右侧滑块开启。
4、开启后即可打开GPS功能,在下方可以选择不同的“定位模式”
5、在主界面下拉屏幕呼出菜单栏,点击“位置信息”可以快速开启GPS功能。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流