Я пытаюсь получить страницу входящего звонка с помощью уведомления с высоким приоритетом. Ссылался на этот сайт, 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;
}
Любое тело поможет мне решить эту проблему.