【发布时间】:2019-01-22 05:17:55
【问题描述】:
我的 Android 应用程序在首次启动时崩溃,并询问我有关用户呼叫权限的信息。当我再次启动我的应用程序时,它可以正常工作。我试过下面的代码。
public void loadContactList() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && checkSelfPermission(Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, PERMISSIONS_REQUEST_READ_CONTACTS);
} else {.....}
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions,int[] grantResults) {
if (requestCode == PERMISSIONS_REQUEST_READ_CONTACTS) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
loadContactList();
} else {
Toast.makeText(this, "Until you grant the permission, we canot display the list", Toast.LENGTH_SHORT).show();
}
}
}
【问题讨论】:
-
请不要发布代码、XML 或 logcat 输出的屏幕截图。请将所有文本作为文本发布。
-
好的,我正在更新它。
-
除非你不允许调用权限,否则不要调用你的方法loadContactList()
-
崩溃在哪一行?正确添加您的代码,并从 logcat 发布崩溃的堆栈跟踪。
标签: java android permissions call