PendingIntent 可以获取一个类作为参数吗?
Posted
技术标签:
【中文标题】PendingIntent 可以获取一个类作为参数吗?【英文标题】:does PendingIntent can get a class as a parameter? 【发布时间】:2014-09-05 10:48:33 【问题描述】:我试图将 gcmRegisterer 从一个 Activity 重构为一个类。
但现在我看到了 sendPushMessage 方法。
GcmRegisterer
必须是 Activity 吗?
为了发送 PendingIntent?
private void sendNotification(String msg)
mNotificationManager = (NotificationManager) this
.getSystemService(Context.NOTIFICATION_SERVICE);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, GcmRegisterer.class), 0);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
this).setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("GCM Notification")
.setStyle(new NotificationCompat.BigTextStyle().bigText(msg))
.setContentText(msg);
mBuilder.setContentIntent(contentIntent);
mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
【问题讨论】:
【参考方案1】:因为您使用的是PendingIntent.getActivity
,是的,它必须是一项活动。但您也可以选择使用PendingIntent.getBroadcast
发送广播,您可以使用BroadcastReceiver
或PendingIntent.getService
启动服务来收听该广播。
使用哪一个取决于您希望在用户点击通知时发生什么。
【讨论】:
【参考方案2】:是的,你必须创建一个扩展 Activity 的 GcmRegisterer 类
【讨论】:
以上是关于PendingIntent 可以获取一个类作为参数吗?的主要内容,如果未能解决你的问题,请参考以下文章