我可以使用以下代码显示未接来电的通知图标,我希望点击图标打开系统未接来电UI,我该怎么办?谢谢!
目前,如果删除评论,我可以打开ui.CallerMain.class用户界面。
顺便说一句,在系统未接来电用户界面中,未接来电就列在那里。
private void ShowMissCallNotification(Context myContext,String myContentText) {
NotificationManager notificationManager = (NotificationManager) myContext.getSystemService(android.content.Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(android.R.drawable.sym_call_missed,
myContext.getString(R.string.app_name),
System.currentTimeMillis());
notification.flags |= Notification.FLAG_ONGOING_EVENT;
notification.flags |= Notification.FLAG_NO_CLEAR;
CharSequence contentTitle= "Title";
CharSequence contentText =myContentText;
//Intent notificationIntent = new Intent(myContext, ui.CallerMain.class);
//PendingIntent contentItent = PendingIntent.getActivity(myContext, 0, notificationIntent, 0);
//notification.setLatestEventInfo(myContext, contentTitle, contentText,contentItent);
notificationManager.notify(NotificationID, notification);
}
答案 0 :(得分:3)
将Pending Intent设置为将触发通话记录的通知。
首先使用“呼叫记录”
创建意图Intent resultIntent = new Intent();
resultIntent.setAction(Intent.ACTION_VIEW);
resultIntent.setType(CallLog.Calls.CONTENT_TYPE);
然后获取PendingIntent
PendingIntent resultPendingIntent =
PendingIntent.getActivity(
this,
0,
resultIntent,
PendingIntent.FLAG_UPDATE_CURRENT
);
然后将PendingIntent设置为通知构建器
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setSmallIcon()
.setContentTitle()
.setContentText()
.setContentIntent(resultPendingIntent);
notificationManager.notify(id, builder.build());
现在点击通知将打开通话记录。
更新:如果您按照上面的答案创建了Intent,那么您的代码段中注释掉的代码将会正常工作。但请注意,不推荐使用您创建通知的方法。将来使用支持库中的NotificationCompat类。