【发布时间】:2013-04-14 07:17:24
【问题描述】:
好的,我终于设置好注册设备以接收推送通知。我发现此代码可以接收新通知并显示它。事情是我不确定它会去哪里。我对 Android 编程很陌生,因此感谢您提供任何帮助。 我在下面有一个名为 GCMService 的服务类。
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import com.google.android.gcm.GCMBaseIntentService;
public class GCMService extends GCMBaseIntentService {
private static final String TAG = "GCMService";
public GCMService() {
super();
}
@Override
protected void onRegistered(Context context, String regId) {
Log.i(TAG, "Device registered: regId= " + regId);
}
@Override
protected void onUnregistered(Context context, String regId) {
Log.i(TAG, "Device unregistered");
}
@Override
protected void onMessage(Context context, Intent intent) {
Log.i(TAG, "Received message");
}
@Override
public void onError(Context context, String errorId) {
Log.i(TAG, "Received error: " + errorId);
}
@Override
protected boolean onRecoverableError(Context context, String errorId) {
Log.i(TAG, "Received recoverable error: " + errorId);
return super.onRecoverableError(context, errorId);
}
}
下面的函数相对于我上面的类在哪里接收新消息?
private static void generateNotification(Context context, String message) {
int icon = R.drawable.ic_launcher;
long when = System.currentTimeMillis();
NotificationManager notificationManager = (NotificationManager)
context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(icon, message, when);
String title = context.getString(R.string.app_name);
Intent notificationIntent = new Intent(context, LauncherActivity.class);
PendingIntent pintent = PendingIntent.getActivity(context, 0, intent,
Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
notification.setLatestEventInfo(context, title, message, intent);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.defaults |= Notification.DEFAULT_SOUND;
notification.defaults |= Notification.DEFAULT_VIBRATE;
notificationManager.notify(1, notification);
}
【问题讨论】:
-
您是否尝试过调用您的通知生成通知到达的位置 - GCMService.onMessage()?
-
我认为这可能是需要的,但是我是否在 onMessage 内部调用 generateNotification()?参数呢?例如generateNotification(这里的东西,这里的东西);我会放什么?
-
哦,没关系,哇,我想我明白了。我开始感到迟钝,无论语言如何,功能都应该相同。我会试试看。这就是您复制和粘贴时发生的情况。大声笑
标签: android android-intent push-notification google-cloud-messaging