解析 PUSH - Json 在 webview 中打开网页
Parse PUSH - Json Open webpage in webview
我正在寻求帮助,了解如何使用 Parse Push 为 Android (Java) 进行设置。
发送推送时:{ "alert": "Read this", "articleId": "2" }
应用程序将打开:myCoolAdress。com/articles/2
编辑:添加代码。
public class ParseBroadcastReceiver 扩展 BroadcastReceiver {
public static final String ACTION = "org.app.app.MESSAGE";
public static final String PARSE_EXTRA_DATA_KEY = "com.parse.Data";
public static final String PARSE_JSON_CHANNEL_KEY = "com.parse.Channel";
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
String articleId = extras != null ? extras
.getString("com.parse.Data") : "";
JSONObject jObject;
try {
jObject = new JSONObject(articleId);
Log.d("Log",
jObject.getString("articleId")
+ jObject.getString("action"));
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
您可以执行以下操作:
- 当您在
BroadcastListener
中收到推送通知时,提取有效负载。
- 创建
Notification
.
- 将
PendingIntent
添加到指向浏览器的通知中 URL。
http://developer.android.com/guide/topics/ui/notifiers/notifications.html
因此,如果用户点击您的通知,他将被重定向到您的网站。
您是否遵循了 https://parse.com/docs/android/guide#push-notifications 中的说明?名为 "Receiving Pushes" 的部分包含有关如何处理推送通知的信息。
我找到了解决方案
public static final String ACTION = "org.APP.APP.MESSAGE";
public static final String PARSE_EXTRA_DATA_KEY = "com.parse.Data";
public static final String PARSE_JSON_CHANNEL_KEY = "com.parse.Channel";
public static final String TAG = "articleId";
@Override
//
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
String jsonData = extras.getString( "com.parse.Data" );
JSONObject jObject;
Log.i("PUSH", String.format("push received: %s", jsonData));
try {
jObject = new JSONObject(jsonData);
String articleId = jObject.getString("articleId");
Log.d("PUSH URL",
"http://MYaweSOMEapp.com/articles/" + articleId);
Intent webViewIntent = new Intent(context, MainActivity.class);
webViewIntent.putExtra("url", "http://MYaweSOMEapp.com/app/articles/" + articleId);
webViewIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(webViewIntent);
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
我正在寻求帮助,了解如何使用 Parse Push 为 Android (Java) 进行设置。
发送推送时:{ "alert": "Read this", "articleId": "2" }
应用程序将打开:myCoolAdress。com/articles/2
编辑:添加代码。
public class ParseBroadcastReceiver 扩展 BroadcastReceiver {
public static final String ACTION = "org.app.app.MESSAGE";
public static final String PARSE_EXTRA_DATA_KEY = "com.parse.Data";
public static final String PARSE_JSON_CHANNEL_KEY = "com.parse.Channel";
@Override
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
String articleId = extras != null ? extras
.getString("com.parse.Data") : "";
JSONObject jObject;
try {
jObject = new JSONObject(articleId);
Log.d("Log",
jObject.getString("articleId")
+ jObject.getString("action"));
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
您可以执行以下操作:
- 当您在
BroadcastListener
中收到推送通知时,提取有效负载。 - 创建
Notification
. - 将
PendingIntent
添加到指向浏览器的通知中 URL。
http://developer.android.com/guide/topics/ui/notifiers/notifications.html
因此,如果用户点击您的通知,他将被重定向到您的网站。
您是否遵循了 https://parse.com/docs/android/guide#push-notifications 中的说明?名为 "Receiving Pushes" 的部分包含有关如何处理推送通知的信息。
我找到了解决方案
public static final String ACTION = "org.APP.APP.MESSAGE";
public static final String PARSE_EXTRA_DATA_KEY = "com.parse.Data";
public static final String PARSE_JSON_CHANNEL_KEY = "com.parse.Channel";
public static final String TAG = "articleId";
@Override
//
public void onReceive(Context context, Intent intent) {
Bundle extras = intent.getExtras();
String jsonData = extras.getString( "com.parse.Data" );
JSONObject jObject;
Log.i("PUSH", String.format("push received: %s", jsonData));
try {
jObject = new JSONObject(jsonData);
String articleId = jObject.getString("articleId");
Log.d("PUSH URL",
"http://MYaweSOMEapp.com/articles/" + articleId);
Intent webViewIntent = new Intent(context, MainActivity.class);
webViewIntent.putExtra("url", "http://MYaweSOMEapp.com/app/articles/" + articleId);
webViewIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(webViewIntent);
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}