Android 在运行时请求推送通知的权限

Android 在运行时请求推送通知的权限,android,push-notification,request,android-permissions,Android,Push Notification,Request,Android Permissions,我在一个应用程序中工作,当应用程序启动时,我需要询问用户是否希望收到推送通知。我知道推送通知不是一个危险的权限,但我需要显示弹出窗口,并可以选择。 这是我的舱单 <uses-permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"/> 有人知道如何显示此弹出窗口?这很重要:) 谢谢 创建自己的DialogFragment和AlertDialog。您不能发明新的运行时权限。谢谢您的回

我在一个应用程序中工作,当应用程序启动时,我需要询问用户是否希望收到推送通知。我知道推送通知不是一个危险的权限,但我需要显示弹出窗口,并可以选择。 这是我的舱单

<uses-permission android:name="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"/>
有人知道如何显示此弹出窗口?这很重要:)
谢谢

创建自己的
DialogFragment
AlertDialog
。您不能发明新的运行时权限。谢谢您的回答。你有一个例子吗?用我的AdvalTalk,我怎么能在ANDORD系统中选择这个选项?“你有一个例子吗?”——你可以考虑看。“我如何在andoird系统上传达此信息?”--我不知道您在问什么,抱歉。请创建您自己的
DialogFragment
AlertDialog
。您不能发明新的运行时权限。谢谢您的回答。你有一个例子吗?用我的AdvalTalk,我怎么能在ANDORD系统中选择这个选项?“你有一个例子吗?”——你可以考虑看。“我该如何在安德系统中传达这一信息?”--对不起,我不知道你在问什么。
public void receiveNotification(View v) {

    boolean hasPermission = (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.BIND_NOTIFICATION_LISTENER_SERVICE) == PackageManager.PERMISSION_GRANTED);

    if (hasPermission) {

        String token = FirebaseInstanceId.getInstance().getToken();
        Log.d(Tag, "Token"+token);
        Toast.makeText(MainActivity.this, token, Toast.LENGTH_SHORT).show();

    }
    else {

        ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.BIND_NOTIFICATION_LISTENER_SERVICE}, REQUEST_CODE_ASK_PERMISSIONS);

    }
}


@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
                                       @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);


    if (requestCode == REQUEST_CODE_ASK_PERMISSIONS) {
        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {

            String token = FirebaseInstanceId.getInstance().getToken();
            Log.d(Tag, "Token"+token);
            Toast.makeText(MainActivity.this, token, Toast.LENGTH_SHORT).show();

        }
        else  {
            // Permission Denied
            Toast.makeText(MainActivity.this, "message", Toast.LENGTH_SHORT)
                    .show();
        }

    }
}