我已按照官方网站上提供的 GCM 教程进行操作:
http://developer.android.com/google/gcm/gs.html
我已经成功地在我的应用程序上实现了它。但由于我是 android 新手,所以我对 GCM 几乎没有什么困惑,如果有人能清除这些点,我会非常感激。
我编写了一个 PHP 脚本(从 google 找到)并硬编码了我的注册 ID(仅用于测试)当我运行脚本时我在我的设备上收到了通知.. 但我不想收到通知,而是我想默默地接收数据和在我的设备上处理它。可能吗??这是PHP代码:
$regID=$_REQUEST['regID']; $registatoin_ids=array($regID); $msg=array("message"=>'HI Wasif'); $url='https://android.googleapis.com/gcm/send'; $fields=array ( 'registration_ids'=>$registatoin_ids, 'data'=>$msg ); $headers=array ( 'Authorization: key=MY-REG-KEY', 'Content-Type: application/json' ); $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_POST,true); curl_setopt($ch,CURLOPT_HTTPHEADER,$headers); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch,CURLOPT_POSTFIELDS,json_encode($fields)); $result=curl_exec($ch); curl_close($ch); echo $result;
第二点是我想自定义我在我的设备上收到的通知我收到这样的通知......(见下图)但我想用我的应用程序名称替换标题文本“GCM 通知”,我应该显示消息正确(不像键,值文本)并且还更改通知的图像......任何人都可以提供一个教程如何在新的GoogleCloudMessaging API中做到这一点?(如果与新的 GoogleCouldMessaging API 不同,请不要提供旧方法)
广播接收器代码:公共类 GcmBroadcastReceiver 扩展 WakefulBroadcastReceiver {
@Override public void onReceive(Context context, Intent intent) { // Explicitly specify that GcmIntentService will handle the intent. ComponentName comp = new ComponentName(context.getPackageName(), GcmIntentService.class.getName()); // Start the service, keeping the device awake while it is launching. startWakefulService(context, (intent.setComponent(comp))); setResultCode(Activity.RESULT_OK); } }