
我正在做一个聊天应用程序.在应用程序中,我必须使用解析andorID sdk与推送通知的帮助聊天.我成功地在不同用户之间生成推送通知.但是无法接收推送并在列表视图中添加其数据.这是maifest文件的代码
<uses-sdk androID:minSdkVersion="8" androID:targetSdkVersion="19" /><uses-permission androID:name="androID.permission.INTERNET" /><uses-permission androID:name="androID.permission.RECEIVE_BOOT_COMPLETED" /><uses-permission androID:name="androID.permission.VIBRATE" /><uses-permission androID:name="androID.permission.ACCESS_NETWORK_STATE" /><uses-permission androID:name="androID.permission.WAKE_LOCK" /><application androID:name="example.chat.ChatApplication" androID:allowBackup="true" androID:icon="@drawable/ic_launcher" androID:label="@string/app_name" androID:theme="@style/Apptheme" > <activity androID:name="com.facebook.LoginActivity" androID:label="@string/app_name" /> <Meta-data androID:name="com.facebook.sdk.ApplicationID" androID:value="@string/app_ID" /> <activity androID:name="example.chat.LoginActivity" androID:label="@string/app_name" androID:screenorIEntation="portrait" > <intent-filter> <action androID:name="androID.intent.action.MAIN" /> <category androID:name="androID.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity androID:name="example.chat.FrIEndsList" androID:label="FrIEnd List" androID:screenorIEntation="portrait" > </activity> <activity androID:name="example.chat.Registeractivity" androID:label="@string/Title_activity_register" androID:screenorIEntation="portrait" > </activity> <activity androID:name="example.chat.FrIEndListActivity" androID:label="@string/Title_activity_frIEnd_List" androID:screenorIEntation="portrait" > </activity> <activity androID:name="example.chat.ChatActivity" androID:label="@string/Title_activity_chat" androID:screenorIEntation="portrait" > </activity> <service androID:name="com.parse.PushService" /> <receiver androID:name="com.parse.ParsebroadcastReceiver" > <intent-filter> <action androID:name="androID.intent.action.BOOT_COMPLETED" /> <action androID:name="androID.intent.action.RECEIVE_BOOT_COMPLETED" /> <action androID:name="androID.intent.action.USER_PRESENT" /> </intent-filter> </receiver> <receiver androID:name="example.chat.MyCustomreceiver" > <intent-filter> <action androID:name="androID.intent.action.BOOT_COMPLETED" /> <action androID:name="androID.intent.action.USER_PRESENT" /> <action androID:name="example.chat.UPDATE_STATUS" /> </intent-filter> </receiver></application>和我的自定义接收器的代码
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<ParseInstallation> query = ParseInstallation.getquery(); query.whereEqualTo("device_ID", target); ParsePush push = new ParsePush(); push.setquery(query); push.setMessage(message); push.setExpirationTimeInterval(86400); push.sendInBackground();请告诉我使用接收器接收数据的错误,以及当我接受推送时该怎么做意味着任何逻辑或想法进一步移动.提前致谢
解决方法:
这是最明显的档案…..
<manifest xmlns:androID="http://schemas.androID.com/apk/res/androID" package="your package name" androID:versionCode="1" androID:versionname="1.0" > <uses-sdk androID:minSdkVersion="15" androID:targetSdkVersion="16" /> <uses-permission androID:name="androID.permission.INTERNET" /> <uses-permission androID:name="androID.permission.ACCESS_NETWORK_STATE" /> <uses-permission androID:name="androID.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission androID:name="androID.permission.VIBRATE" /> <application androID:allowBackup="true" androID:icon="@drawable/ic_launcher" androID:label="@string/app_name" androID:theme="@style/Apptheme" > <activity androID:name="your package name.YourActivity" androID:label="@string/app_name" > <intent-filter> <action androID:name="androID.intent.action.MAIN" /> <category androID:name="androID.intent.category.LAUNCHER" /> </intent-filter> </activity> <service androID:name="com.parse.PushService" /> <receiver androID:name="com.parse.ParsebroadcastReceiver" > <intent-filter> <action androID:name="androID.intent.action.BOOT_COMPLETED" /> <action androID:name="androID.intent.action.RECEIVE_BOOT_COMPLETED" /> <action androID:name="androID.intent.action.USER_PRESENT" /> </intent-filter> </receiver> <receiver androID:name="your package name.YourCustomreceiver" > <intent-filter> <action androID:name="androID.intent.action.BOOT_COMPLETED" /> <action androID:name="androID.intent.action.USER_PRESENT" /> <action androID:name="your package name.UPDATE_STATUS" /> </intent-filter> </receiver> </application> </manifest>使用此代码接收推送…
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(); }如有任何进一步的问题,请告诉我….
总结以上是内存溢出为你收集整理的java – android使用parse.com api通过推送通知实现聊天全部内容,希望文章能够帮你解决java – android使用parse.com api通过推送通知实现聊天所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)