【发布时间】:2016-07-27 19:57:36
【问题描述】:
我正在关注 Lynda.com 上的视频,我正在尝试 在运行时请求权限。但我得到这个错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.content.Context.checkPermission(java.lang.String, int, int)' on a null object reference
at com.doppler.stackingcoder.pechhulp.PechhulpActivity.makeCall(PechhulpActivity.java:226)
出现错误的方法如下:
public void makeCall() {
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:09003344556"));
if (ActivityCompat.checkSelfPermission(
PechhulpActivity.this, Manifest.permission.CALL_PHONE) // Line 226 (Error)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(PechhulpActivity.this,
Manifest.permission.CALL_PHONE)) {
Toast.makeText(PechhulpActivity.this, "I know you said no, but I'm asking again", Toast.LENGTH_SHORT).show();
}
ActivityCompat.requestPermissions(PechhulpActivity.this,
new String[]{Manifest.permission.CALL_PHONE},
MY_PERMISSIONS_REQUEST_CALL_PHONE);
return;
}
startActivity(callIntent);
}
我希望有人知道为什么会出现此错误。这是我全班的要点: https://gist.github.com/soufyanekaddouri/812f65669847619e3af7016403b1e7be
【问题讨论】: