例如,可以使用以下代码请求权限:
loginButton.setPermissions(Arrays.asList("email", "public_profile"));
如果用户拒绝了电子邮件权限,loginResult.getDeniedPermissions()方法将返回拒绝的权限列表。您可以使用以下代码检查电子邮件权限是否已拒绝:
if (loginResult.getDeniedPermissions().contains("email")) { // handle the denied permission }
if (loginResult.getDeniedPermissions().contains("email")) { new AlertDialog.Builder(this) .setTitle(R.string.permission_title) .setMessage(R.string.email_permission_message) .setPositiveButton(R.string.ok_button, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { // Prompt the user to grant the permission again LoginManager.getInstance().logInWithReadPermissions(MainActivity.this, Arrays.asList("email")); } }) .show(); }
在上面的代码中,创建一个AlertDialog,提示用户授予权限。如果用户单击“确定”按钮,将会重新请求电子邮件权限。
注意:您需要将R.string.permission_title和R.string.email_permission_message替换为您应用中的实际字符串资源。