以下是我的代碼。我已經把行動(是或否)使用的addAction到notification.But的問題是,如果它按我無法檢測或not.Plz幫助..謝謝如何檢測是否按通知Android
@SuppressWarnings("deprecation")
@Override
protected void onIncomingCallReceived(final Context ctx, final String number, final Date start) {
// Create Intent for notification
Intent intent = new Intent(ctx, CallReceiver.class);
PendingIntent pi = PendingIntent.getActivity(ctx, 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
//Yes intent
Intent yesReceive = new Intent();
yesReceive.setAction(YES_ACTION);
PendingIntent pendingIntentYes = PendingIntent.getBroadcast(ctx, 0, yesReceive, PendingIntent.FLAG_UPDATE_CURRENT);
//No intent
Intent noReceive = new Intent();
noReceive.setAction(NO_ACTION);
PendingIntent pendingIntentNo = PendingIntent.getBroadcast(ctx, 0, noReceive, PendingIntent.FLAG_UPDATE_CURRENT);
// Defining notification
NotificationCompat.Builder nBuilder = new NotificationCompat.Builder(
ctx).setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("Sample text 1 ?")
.setContentText("Sample text 2").setContentIntent(pi)
.addAction(R.drawable.ic_done_white_36dp, "Yes", pendingIntentYes)
.addAction(R.drawable.ic_close_white_36dp, "No", pendingIntentNo);
// Allows notification to be cancelled when user clicks it
nBuilder.setAutoCancel(true);
// Issuing notification
int notificationId = 0;
NotificationManager notifyMgr = (NotificationManager) ctx.getSystemService(NOTIFICATION_SERVICE);
String action = intent.getAction();
if (CallReceiver.YES_ACTION.equals(action)) {
Toast.makeText(ctx, "YES CALLED", Toast.LENGTH_SHORT).show();
} else if (CallReceiver.NO_ACTION.equals(action)) {
Toast.makeText(ctx, "STOP CALLED", Toast.LENGTH_SHORT).show();
}
notifyMgr.notify(notificationId, nBuilder.build());
}
這個代碼是在我的CallReciever.class延伸Phonecallreciever 其中,phonecallreciever延長broadcastreciver。
事情是在點擊Yes按鈕,我想保存在db..ie從來電中獲得的細節(最後語境環磷酰胺,最終串號,最後的日期開始)...如果你說我不能在Obregive功能中使用詳細信息 – Androidss
@Androidss我不這麼認爲。在'onRecieve(Context context,Intent intent)'中,您擁有所有您需要的內容:1. context,您可以使用它打開數據庫或訪問系統服務; 2. intent,它通過'Intent'擁有所有共享數據。嘗試使用它們來存儲所有你需要的數據。 –