Как отправить параметры от щелчка уведомления до действия?

Попробуйте либо настроить LogFactory до инициализации ServiceStack, например:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    LogManager.LogFactory = new Log4NetFactory(configureLog4Net: true);

    app.UseServiceStack(new AppHost
    {
        AppSettings = new NetCoreAppSettings(Configuration)
    });
}

, либо использовать регистратор экземпляров в своих службах:

public readonly ILog log = LogManager.GetLogger(typeof(ServiceBase));
193
задан Robert 3 July 2015 в 01:01
поделиться

3 ответа

Выбранный ответ работал у меня, пока я не добавил это значение во временную таблицу вместе с другими в примере:

insert #bla values('1234')

Я ожидал, что мой результат max () будет сейчас 1234, но осталось 789. Возможно, это связано с некоторыми настройками сопоставления, но мне удалось воспроизвести в нескольких базах данных. Я обнаружил, что этот запрос ниже работает для меня, но мне, безусловно, было бы интересно узнать, есть ли более эффективный способ сделать это. Также,

234
ответ дан 23 November 2019 в 05:26
поделиться

В своей реализации уведомлений используйте код, подобный следующему:

NotificationCompat.Builder nBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);
...
Intent intent = new Intent(this, ExampleActivity.class);
intent.putExtra("EXTRA_KEY", "value");

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
nBuilder.setContentIntent(pendingIntent);
...

Чтобы получить дополнительные значения Intent в ExampleActivity, используйте следующий код:

...
Intent intent = getIntent();
if(intent!=null) {
    String extraKey = intent.getStringExtra("EXTRA_KEY");
}
...

VERY ВАЖНОЕ ПРИМЕЧАНИЕ: метод Intent :: putExtra () перегружен. Чтобы получить дополнительный ключ, вам нужно использовать метод Intent :: get [Type] Extra () .

Примечание: NOTIFICATION_ID и NOTIFICATION_CHANNEL_ID являются константами, объявленными в ExampleActivity

1
ответ дан 23 November 2019 в 05:26
поделиться

Прочитав несколько списков адресов электронной почты и другие форумы, я обнаружил, что этот трюк, похоже, добавляет некоторые уникальные данные в намерение.

вот так:

   Intent notificationIntent = new Intent(Main.this, Main.class);
   notificationIntent.putExtra("sport_id", "sport"+id);
   notificationIntent.putExtra("game_url", "gameURL"+id);

   notificationIntent.setData((Uri.parse("foobar://"+SystemClock.elapsedRealtime()))); 

Я не понимаю, зачем это нужно готово, это как-то связано с намерением не может быть идентифицировано только по его дополнениям ...

13
ответ дан 23 November 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: