Кнопки в уведомлениях GCM - PullRequest
0 голосов
/ 02 июля 2018

Я занимаюсь разработкой приложения, пытаюсь отправить уведомления кнопками, но это не работает, уведомления приходят, но кнопок нет

Как включить кнопки в уведомление? я пытаюсь, но не работает :(

Я искал в форумах, но ничего! Помогите?

пример кнопок:

введите описание изображения здесь

public static void main(String[] args) {
    final String msg = "Teste";

    List<String> gcms = new ArrayList<>();
        gcms.add("c6h8rQ6v7iU:APA91bHzZV8qutkl3955bILfGbOQXnp-T3nP_q3Dr2cRy7TTTflwLL0WK_5C2HgHUCL52rlxm_YJCchYsuq99mz-jHac25fAfrK5EjAESBFqj2n3zYtB-RVFk0LoF7nBly6htMtQjA2Au4VlP-9razIetPgiZuABnA");
    for (String gcm : gcms) {
        sendPush("MX Soluções", msg, gcm, "go", "");
    }

}

public static void sendPush(final String title, final String message, final String id, Object... args) {
    if (!Utils.isEmpty(id)) {
        ConfigUtils cfg = ConfigUtils.get();
        String serverKey = cfg.get("gcm.server.key", "***********");

        if (serverKey == null) {
            LogUtils.info("API Key não encontrada, registrar app em https://developers.google.com/mobile/add?platform=android&cntapi=gcm");
            return;
        }

        Thread thread = new Thread(new Runnable() {

            @Override
            public void run() {
                try {
                    HttpParams myParams = new BasicHttpParams();

                    HttpConnectionParams.setSoTimeout(myParams, 10000);
                    HttpConnectionParams.setConnectionTimeout(myParams, 10000); // Timeout

                    String url = GCM_URL;
                    DefaultHttpClient client = new DefaultHttpClient(myParams);
                    HttpPost post = new HttpPost(url);
                    BasicHttpContext localContext = new BasicHttpContext();
                    JSONObject mainData = new JSONObject();
                    try {
                        JSONObject data = new JSONObject();
                        data.putOpt("text", message);
                        data.putOpt("title", title);
                        data.putOpt("sound", "default");
                        data.putOpt("soundname", "default");

                        JSONArray regIds = new JSONArray();

                        regIds.put(id);
                        mainData.put("registration_ids", regIds);
                        mainData.put("notification", data);
                        mainData.put("content_available", true);
                        mainData.put("priority", "high");
                        mainData.put("sound", "default");
                        mainData.put("soundname", "default");

                        if (args != null && args.length > 0) {
                            Map toMap = Utils.toMap(args);

                            toMap.put("coldstart", true);
                            toMap.put("foreground", true);

                            mainData.put("data", toMap);
                        }

                    } catch (JSONException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
        });
        thread.start();
    }
}

1 Ответ

0 голосов
/ 02 июля 2018

Посмотрите на это https://developer.android.com/training/notify-user/build-notification#Actions

Если у вас возникли проблемы с его работой, поделитесь кодом, где вы создаете уведомление

...