这种情况分不同的手机,就算服务写的在强大,前提是你服务很强大,最好使用前台推送服务,比较稳定一点。在华为手机上 android sdk 在 compileSdkVersion 和 targetSdkVersion 小于23的时候会默认使用app在manifest里面配置的权限。而在大于23的时候
必须加上下面这行代码,会询问是否添加权限,总的来世就是6.0版本之后比较安全了,更人性化了。
private String[] requestPermissions = {
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.READ_PHONE_STATE};
int write = ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
int read = ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
int coarse = ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION);
int fine = ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION);
Log.d("permissionState:", "write:"+write + "_" + "read:"+read + "_" + "coarse:"+coarse + "_" + "fine:"+fine);
ActivityCompat.requestPermissions(this, requestPermissions, 10086);
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
在华为手机上会除了添加权限外,想让后台服务运行起来 ,还需要在自带的手机管家里面,有一个锁屏清理应用,选择你需要的应用选择不清理,然后就可以安心使用了
在小米手机上出了要把你的应用添加到自启动里面之外,还需要在设置---电量和性能---神隐模式里面,选择不会限制后台应用的功能