问题描述
当有人打电话时,我必须从后台开始通话活动。我已经尝试过这段代码,但它不起作用。通知不来,不存在错误。我犯了什么错误。
Intent fullScreenIntent = new Intent(conn,IncCallActivity.class);
fullScreenIntent.putExtra("name",callerName);
fullScreenIntent.putExtra("out",false);
fullScreenIntent.putExtra("channel_id",channelId);
fullScreenIntent.putExtra("id",callerId);
PendingIntent fullScreenPendingIntent = PendingIntent.getActivity(conn,112,fullScreenIntent,PendingIntent.FLAG_UPDATE_CURRENT);
Uri sound = Uri.parse(((AppBack) getApplication()).shared().getString("ringU","no"));
notificationmanager notificationmanager =(notificationmanager) getSystemService(Context.NOTIFICATION_SERVICE);
NotificationChannel mChannel = notificationmanager.getNotificationChannel("VIDEO_CALL");
AudioAttributes attributes = new AudioAttributes.Builder().setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_ALARM)
.build();
if (mChannel == null) {
mChannel = new NotificationChannel("VIDEO_CALL","VIDEO_CALL",notificationmanager.IMPORTANCE_HIGH);
mChannel.setSound(sound,attributes);
notificationmanager.createNotificationChannel(mChannel);
}
NotificationCompat.Builder builder = new NotificationCompat.Builder(conn," VIDEO_CALL").setSmallIcon(R.drawable.logo)
.setContentTitle("Incoming call")
.setContentText("Call from " + callFrom)
.setPriority(NotificationCompat.PRIORITY_HIGH)
.setCategory(NotificationCompat.CATEGORY_CALL)
.setContentIntent(fullScreenPendingIntent)
.setFullScreenIntent(fullScreenPendingIntent,true)
.setAutoCancel(true)
.setongoing(true);
Notification notification = builder.build();
notificationmanager.notify(120,notification);
解决方法
我认为您应该为 x-ms-encryption-key
添加权限。
AndroidManifest.xml
- 设备应该被锁定