解析 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();
    }

}

}

您可以执行以下操作:

  1. 当您在 BroadcastListener 中收到推送通知时,提取有效负载。
  2. 创建 Notification.
  3. 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();
    }

}