我正在使用应用程序,我需要使用推送通知。我知道推送通知是正常的权限,所以我不能在运行时询问它。但是我会在用户下载并安装应用程序时插入权限,通知应用程序应该发送推送通知。 我该怎么做?我必须在清单中插入一些东西? 感谢
答案 0 :(得分:17)
已回答here,您不需要推送通知权限。
实际上推送通知权限位于普通类别中 像INTERNET许可的权限不在危险类别中 权限。
您不必要求推送通知权限。
虽然联系人/位置是危险权限,但是因为您是 访问用户数据。因此总是要求用户允许它。
希望你明白。 https://developer.android.com/guide/topics/security/permissions.html
答案 1 :(得分:1)
但我会在用户下载并安装应用程序时插入权限,通知应用程序应发送推送通知。我该怎么办?
不支持,抱歉。
答案 2 :(得分:-1)
试试这个 在您的Activity类中添加以下代码
private static final int NOTIFICATION_PERMISSION_CODE = 123;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_activity);
requestNotificationPermission();
//some code
}
private void requestNotificationPermission() {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_NOTIFICATION_POLICY) == PackageManager.PERMISSION_GRANTED)
return;
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_NOTIFICATION_POLICY)) {
}
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_NOTIFICATION_POLICY}, NOTIFICATION_PERMISSION_CODE );
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
//Checking the request code of our request
if (requestCode == NOTIFICATION_PERMISSION_CODE ) {
//If permission is granted
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//Displaying a toast
Toast.makeText(this, "Permission granted now you can read the storage", Toast.LENGTH_LONG).show();
} else {
//Displaying another toast if permission is not granted
Toast.makeText(this, "Oops you just denied the permission", Toast.LENGTH_LONG).show();
}
}
}