步驟
一,添加電話權(quán)限 導(dǎo)依賴
<uses-permission android:name="android.permission.CALL_PHONE"/>
implementation'com.github.dfqin:grantor:2.5'
有兩種方式
一,動(dòng)態(tài)獲取危險(xiǎn)權(quán)限
private void requestPremission() {
????????if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) == ????????????PackageManager.PERMISSION_GRANTED) {
????????//該權(quán)限已授予
? ? ? ? callPhone();
????}else {
????????//該權(quán)限沒(méi)有授予
? ? ? ? ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.CALL_PHONE},100);
????}
}
@Override
public void onRequestPermissionsResult(int requestCode,@NonNull String[] permissions,@NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
????????if (grantResults.length >0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
????????????????Toast.makeText(MainActivity.this,"獲取權(quán)限成功", Toast.LENGTH_SHORT).show();
????????????????callPhone();
????????}else {
????????????????Toast.makeText(MainActivity.this,"獲取權(quán)限失敗", Toast.LENGTH_SHORT).show();
????}
}
二,框架獲取危險(xiǎn)權(quán)限
//框架
private void grantor() {
PermissionsUtil.requestPermission(this,new PermissionListener() {
@Override
? ? ? ? public void permissionGranted(@NonNull String[] permission) {
????????????????????callPhone();
}
@Override
? ? ? ? public void permissionDenied(@NonNull String[] permission) {
????????????????????Toast.makeText(MainActivity.this,"獲取權(quán)限失敗", Toast.LENGTH_SHORT).show();
}
},Manifest.permission.CALL_PHONE );
}
? ? 具體實(shí)施打電話
private void callPhone() {
????????????????????Intent intent =new Intent(Intent.ACTION_CALL);
????????????????????intent.setData(Uri.parse("tel:10010"));
????????????????????startActivity(intent);
}