Не удается запустить действие из класса Service, используя уведомление с высоким приоритетом, когда приложение находится в фоновом режиме для android версии выше 10 - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь получить страницу входящего звонка с помощью уведомления с высоким приоритетом. Ссылался на этот сайт, https://developer.android.com/training/notify-user/time-sensitive Но я не могу принимать звонки, когда приложение работает в фоновом режиме. Ниже мой код,

 public int onStartCommand(Intent intent, int flags, int startId) {
        int sticky;
        AndroidLogger.log(5,TAG,"Entered on start command");
        if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.Q){
            AndroidLogger.log(5,TAG,"Entered on start command inside q");
            NotificationChannel channel = new NotificationChannel(CHANNEL_ID,
                    DialerProperties.CHARACTER_SEQUENCE,
                    NotificationManager.IMPORTANCE_HIGH);
            Intent i=new Intent(this, CallActivity.class);
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                    | Intent.FLAG_ACTIVITY_CLEAR_TASK);

           i.putExtra("number", intent.getStringExtra("number"));
            i.putExtra("name", intent.getStringExtra("name"));

            PendingIntent pendingIntent=PendingIntent.getActivity(this,0,i, PendingIntent.FLAG_UPDATE_CURRENT);
            ((NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE)).createNotificationChannel(channel);
            Notification notification = new NotificationCompat.Builder(this, DialerProperties.CHANNEL_ID)
                    .setContentTitle(getString(R.string.dialer))
                    .setContentText(getString(R.string.voip_dialer))
                    .setPriority(NotificationCompat.PRIORITY_HIGH)
                    .setCategory(NotificationCompat.CATEGORY_CALL)
                    .setFullScreenIntent(pendingIntent,true)
                    .build();

            startForeground(1, notification);
        }
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
            sticky=START_NOT_STICKY;
        else
            sticky=START_STICKY;
        return sticky;
    }

Любое тело поможет мне решить эту проблему.

...