android使用parse.com api通过推送通知实现聊天

我正在做一个聊天应用程序。 在应用程序中,我必须使用解析andorid sdk与推送通知的帮助聊天。 我成功地在不同用户之间生成推送通知。 但是无法接收推送并在列表视图中添加其数据。 这是maifest文件的代码

                                       

和我的自定义接收器的代码

 public class MyCustomReceiver extends BroadcastReceiver { private static final String TAG = "MyCustomReceiver"; @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, ""+intent, Toast.LENGTH_LONG).show(); } } 

从java代码我发送像这样的推送:

 ParseQuery query = ParseInstallation.getQuery(); query.whereEqualTo("device_id", target); ParsePush push = new ParsePush(); push.setQuery(query); push.setMessage(message); push.setExpirationTimeInterval(86400); push.sendInBackground(); 

请告诉我使用接收器接收数据的错误,以及当我接受推送时该怎么做意味着任何逻辑或想法进一步移动。 提前致谢

这是最明显的档案…..

                                

使用此代码接收推送…

 public class MyCustomReceiver extends BroadcastReceiver { 

字符串标题,来自,msg;

  @Override public void onReceive(Context context, Intent intent) { Bundle extras = intent.getExtras(); String message = extras != null ? extras.getString("com.parse.Data") : ""; Log.e("message ", " " + message); JSONObject jObject; try { if (message != null && !message.equals("")) { jObject = new JSONObject(message); from = jObject.getString("from"); msg = jObject.getString("title"); title = jObject.getString("msg"); GCMMessage gcmMessage = new GCMMessage(); gcmMessage.setMsg_body(msg); gcmMessage.setMsg_title(title); gcmMessage.setType(0); gcmMessage.setDateTime(time); DatabaseUtil.insertMessage(context, gcmMessage); } } catch (JSONException e) { e.printStackTrace(); } } } 

这是发送推送的代码…

  JSONObject obj; try { obj =new JSONObject(); obj.put("alert","oman expert "); obj.put("action","Your Package name.UPDATE_STATUS"); data.put("from", ParseUser.getCurrentUser().getUsername()); obj.put("msg","hi"); obj.put("title","msg"); ParsePush push = new ParsePush(); ParseQuery query = ParseInstallation.getQuery(); push.setQuery(query); push.setData(obj); push.sendInBackground(); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } 

如有任何疑问,请告诉我….

在上面的代码示例中,您错过了一些东西,

检查您的AndroidManifest.xml文件,并添加c2dm权限,

权限android:name =“your package.permission.C2D_MESSAGE”android:protectionLevel =“signature”

uses-permission android:name =“com.google.android.c2dm.permission.RECEIVE”

uses-permission android:name =“your package.permission.C2D_MESSAGE”

发送数据时,在数据中设置操作,

  JSONObject data = new JSONObject(); try { data.put("action", "your package.GOT_MESSAGE"); data.put("ya", ya); data.put("from", ParseUser.getCurrentUser().getUsername()); }catch (Exception e){ e.printStackTrace(); return; } ParsePush parsePush = new ParsePush(); parsePush.setData(data);