安卓中的java代码报错求助 求大神
发布网友
发布时间:2023-07-19 12:16
我来回答
共4个回答
热心网友
时间:2024-11-25 07:44
你可以使用以下代码代替你的 ACTION_CALL(推荐):
Intent intent = new Intent(Intent.ACTION_DIAL);
也可以参考这里,在 manifest 中添加
android.permission.PHONE_CALL
的权限,并且在拨打电话之前检验权限:
//检查是否已经给了权限
int checkpermission= ContextCompat.checkSelfPermission(getApplicationContext(),Manifest.permission.ACCESS_FINE_LOCATION);
if(checkpermission!=PackageManager.PERMISSION_GRANTED){ //没有给权限,申请
//参数分别是当前活动,权限字符串数组,requestcode
ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
// 暂时使用 DIAL 代替 CALL
Intent intent = new Intent(Intent.PHONE_DIAL);
intent.setData(Uri.parse("tel:"+number));
startActivity(intent);
} else {
// 直接使用 CALL
Intent intent = new Intent(Intent.PHONE_CALL);
intent.setData(Uri.parse("tel:"+number));
startActivity(intent);
}
然后添加一个方法:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
//grantResults数组与权限字符串数组对应,里面存放权限申请结果
if(grantResults[0]== PackageManager.PERMISSION_GRANTED){
// 放已授权的处理方法
}else{
// 放拒绝授权的处理方法
Toast.makeText(MainActivity.this,"拒绝授权",Toast.LENGTH_SHORT).show();
}
}
参考:CSDN
热心网友
时间:2024-11-25 07:45
您好,提问者:
android的界面布局都应该定义在.xml中。
热心网友
时间:2024-11-25 07:45
要申请权限,首先在manifest里面写权限,然后再在java代码里动态申请权限,从6.0开始就要动态申请这类敏感的权限
热心网友
时间:2024-11-25 07:46
要申请权限,首先在manifest里面写权限,然后再在java代码里动态申请权限,从6.0开始就要动态申请这类敏感的权限要申请权限,首先在manifest里面写权限,然后再在java代码里动态申请权限,从6.0开始就要动态申请这类敏感的权限要申请权限,首先在manifest里面写权限,然后再在java代码里动态申请权限,从6.0开始就要动态申请这类敏感的权限