我目前正在构建一个Android应用程序,需要通过通知栏的操作按钮。
我添加了通知栏和操作按钮。我还添加了一个BroadcastReceiver
来执行按钮点击操作。我的问题是,操作是根据单击的操作按钮的标题执行的。请指导我如何获得点击按钮的标题。
这是我的通知创建代码:
Intent intent = new Intent();
intent.setAction(AppConstants.YES_ACTION);
// Open receiver
PendingIntent pIntent = PendingIntent.getBroadcast(this, 0, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
//Create Notification using NotificationCompat.Builder
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
// Set Icon
.setSmallIcon(R.mipmap.ic_launcher)
// Set Ticker Message
// .setTicker(getString(R.string.notificationticker))
// Set Title
.setContentTitle(getString(R.string.app_name))
// Set Text
.setContentText(getString(R.string.notificationtext))
// Add an Action Button below Notification
.addAction(R.mipmap.ic_launcher, "Action Button", pIntent)
// Set PendingIntent into Notification
.setContentIntent(pIntent)
// Dismiss Notification
.setAutoCancel(true);
for(int l = 0; l<btnNames.length; l++){
if(!btnNames[l].isEmpty()){
builder.addAction(R.mipmap.ic_launcher, btnNames[l],pIntent);
// intent.putExtra("Btn"+(l+1), btnNames[1]);
}
}
// Create Notification Manager
NotificationManager notificationmanager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// Build Notification with Notification Manager
notificationmanager.notify(0, builder.build());
以下是广播接收者代码:
public class notificationReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
String notificationAction = intent.getAction();
//the title retrieval code goes here
if(notificationAction.equals(AppConstants.YES_ACTION)){
//some work is done here
}
}
}
答案 0 :(得分:2)
第1步:将所有$http.get('rest/client/authentifier/'+$scope.nouveauClient.numerocompte+$scope.nouveauClient.mdp).then(function(data){
alert(data.data);
})
/ Intent
/ PendingIntent
创建逻辑移到循环中
步骤2:将操作按钮的标识符作为额外添加到用于Notification
的{{1}}
步骤3:为Intent
方法的第二个参数的每个PendingIntent
使用一个不同的数字,这样每个
PendingIntent
个实例就会有所不同
步骤#4:让getBroadcast()
读取额外内容以确定点击的操作
或者...
第1步:将所有PendingIntent
/ BroadcastReceiver
/ Intent
创建逻辑移到循环中
步骤2:在每个PendingIntent
对象
步骤3:让Notification
读取操作字符串以确定点击的操作
或者...
步骤1:为每个操作按钮使用不同的Intent