SO 上已经有很多关于这个主题的问题(一、二、三、四)。然而,到目前为止我找到的答案都不能解决我的问题。
问题是ActivityCompat.requestPermissions不会触发弹出窗口,要求用户授予通知权限。
设置:
<uses-permission android:name="android.permission.POST_NOTIFICATION" />if (ContextCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) == PackageManager.PERMISSION_DENIED)
{
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.POST_NOTIFICATIONS}, 1);
}
Run Code Online (Sandbox Code Playgroud)
回调如下:
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions,int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case 1:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(MainScreenActivity.this, "Woho, you have enabled notifications!", Toast.LENGTH_SHORT).show(); …Run Code Online (Sandbox Code Playgroud)