我想在PCL AddData();
中使用方法帮助执行,但我正在寻找一种方法将其附加到下面名为AddAction
的通知的属性中:
.AddAction(Resource.Drawable.tick_notify, "Take", pIntent)
但我不知道如何连接它,因为第三参数需要PendingIntent
,是否有办法从{添加AddData方法{1}}?
执行某项行动?
EDITED
Service.cs
PCL
答案 0 :(得分:0)
没有办法直接将方法与通知行动联系起来。
当然,因为通知是在系统电话界面上运行的,而不是您的应用代码。
您应构建待定意图并使用接收器才能接收回调。
这种限制在Xamarin中以相同的方式存在。
你可以在谷歌样本UniversalMusicPlayer#MediaNotificationManager.java
中找到一个例子(在标准的Android java代码中)创建你的意图:
mAddDataPendingIntent = PendingIntent.getBroadcast(mService, REQUEST_CODE,
new Intent(ACTION_ADD_DATA).setPackage(pkg), PendingIntent.FLAG_CANCEL_CURRENT);
然后在构建通知时:
notificationBuilder.addAction(new NotificationCompat.Action(icon, label, mAddDataPendingIntent));
注册您的广播:
IntentFilter filter = new IntentFilter();
filter.addAction(ACTION_ADD_DATA);
mService.registerReceiver(this, filter);
接受行动:
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
LogHelper.d(TAG, "Received intent with action " + action);
switch (action) {
case ACTION_ADD_DATA:
addData();
break;
}
}