Строковые параметры не отправляются на активность из локального уведомления - PullRequest
0 голосов
/ 28 июня 2019

Я сейчас пытаюсь отправить локальное уведомление с действием. Действие подтолкнет строку к действию при выборе. К сожалению, когда я пытаюсь передать строку, я не могу получить ее в действии, у меня есть несколько операторов журнала с различными объектами, чтобы увидеть, может ли система распознавать ее как что-то еще, но не повезло. Событие, когда я пытался отправить его как пакет, пакет отправляется, но не строка! если я передаю int, он прекрасно работает! Буду признателен за любую помощь, и да, я копался в этом и пробовал несколько решений.

Код:

Intent intent = new Intent(context, MainActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
        intent.setAction("action");

        intent.putExtra("idforaction", 12345);
        //intent.putExtra("test", "test message");
        Bundle bundle = new Bundle();
        bundle.putString("othertest","test message 2");
        intent.putExtra("test", bundle);
        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

MainActivity:

int notificationNum = getIntent().getIntExtra(idfoaction, -1);
        Log.e(TAG, "get Extras " + notificationNum);

        Log.e(TAG, "STRING? " + getIntent().getStringExtra("test"));
        Log.e(TAG, "CHARSEQ? " + getIntent().getCharSequenceExtra("test"));
        Log.e(TAG, "CHARS?" + (getIntent().getCharArrayExtra("test") != null ? getIntent().getCharArrayExtra("test").length + "" : "null"));
        Log.e(TAG, "PARCELABLE?" + (getIntent().getParcelableExtra("test") != null ? getIntent().getParcelableExtra("test").toString(): "null"));
        Log.e(TAG, "BUNDLE?" + (getIntent().getBundleExtra("test") != null ? "not null" : "null"));
        Log.e(TAG, "BUNDLE?" + (getIntent().getExtras() != null ? "not null" : "null"));
        if (getIntent().getExtras() != null) {
            Log.e(TAG, "bundle " + getIntent().getExtras().getString("othertest", ""));
            Log.e(TAG, "bundle " + getIntent().getExtras().get("othertest"));
        }

1 Ответ

1 голос
/ 28 июня 2019

Попробуйте это:

Intent intent = new Intent(context, MainActivity.class);
intent.putExtra("my_key", "my_key_value");

И читать:

Intent intent = getIntent()
String myValue = intent.getStringExtra("my_key"); // "my_key_value"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...