packagecom.cnblogs.dialandcall;importandroid.Manifest;importandroid.content.Intent;importandroid.content.pm.PackageManager;importandroid.net.Uri;importandroid.support.annotation.NonNull;importandroid.support.v4.app.ActivityCompat;importandroid.support.v4.content.ContextCompat;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.widget.Toast;public class MainActivity extends AppCompatActivity implementsView.OnClickListener {privateButton btn_dial;privateButton btn_call;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_call=(Button)findViewById(R.id.btn_call);
btn_call.setOnClickListener(this);
btn_dial=(Button)findViewById(R.id.btn_dial);
btn_dial.setOnClickListener(this);
}
@Overridepublic voidonClick(View v) {switch(v.getId()){caseR.id.btn_call:
onCall();break;caseR.id.btn_dial:
Intent dialIntent= newIntent(Intent.ACTION_DIAL);
dialIntent.setData(Uri.parse("tel:10086"));
startActivity(dialIntent);break;
}
}private voidonCall() {int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE);if(permissionCheck!=PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.CALL_PHONE}, Integer.parseInt("001"));
}else{
startActivity(new Intent(Intent.ACTION_CALL).setData(Uri.parse("tel:10086")));
}
}
@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {switch(requestCode){case 001:if(grantResults.length>0&&(grantResults[0]==PackageManager.PERMISSION_GRANTED)){
onCall();
}else{
Toast.makeText(getBaseContext(),"You Need Allow The Permission To Run This App",Toast.LENGTH_SHORT).show();
}break;
}
}
}