5.3(小组冲刺第八天)
计步器完成编写最后代码
@Override
protected void onStart() {
super.onStart();
}
@Override
public void onDestroy() { //app被关闭之前,service先解除绑定
super.onDestroy();
if (isBind) {
this.unbindService(serviceConnection);
}
}
// 用户权限申请的回调方法
@Override
public void onRequestPermissionsResult( int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 321) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
if (grantResults[0] != PackageManager.PERMISSION_GRANTED) {
//提示用户手动开启权限
showDialogTipUserGoToAppSettting("健康运动权限", "健康运动权限不可用");
}
}
}
}
// 提示用户去应用设置界面手动开启权限
private void showDialogTipUserGoToAppSettting(String title, String message) {
dialog = new AlertDialog.Builder(this)
.setTitle(title)
.setMessage(message)
.setPositiveButton("立即开启", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 跳转到应用设置界面
Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
startActivityForResult(intent, 123);
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick( DialogInterface dialog, int which) {
Toast.makeText(getApplicationContext(),"没有获得权限,应用无法运行!", Toast.LENGTH_SHORT).show();
finish();
}
}).setCancelable(false).show();
}
//手动设置权限后回调,检查有没有权限
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 123) {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
// 检查该权限是否已经获取
int get = ContextCompat.checkSelfPermission(this, permissions[0]);
// 权限是否已经 授权 GRANTED---授权 DINIED---拒绝
if (get != PackageManager.PERMISSION_GRANTED) {
// 提示用户应该去应用设置界面手动开启权限
Toast.makeText(getApplicationContext(),"没有获得权限,应用无法运行!", Toast.LENGTH_SHORT).show();
finish();
} else {
dialog.dismiss();
Toast.makeText(getApplicationContext(),"权限授予成功!", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(JibuActivity.this, BindService.class);
isBind = bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
startService(intent);
}
}
}
}
}

浙公网安备 33010602011771号