Как запретить Android создавать новые действия при подключении USB-устройства? - PullRequest
0 голосов
/ 23 июня 2019

Я хочу, чтобы мое приложение для Android работало так:

  1. Когда подключено новое USB-устройство и мое приложение уже активно, мое приложение запрашивает разрешение на использование USB-устройства.

  2. Когда устройство USB того же типа (типа) снова подключено, и мое приложение активно, тогда мое приложение может использовать его без необходимости запрашивать разрешение снова.

  3. Если мое приложение активно, текущее действие продолжается (а не запускается новое действие), когда подключено известное устройство USB.

Я могу '№ 3 для работы: Android 9 настаивает на запуске новой активности, потому что мое приложение зарегистрировано в качестве обработчика по умолчанию для этого устройства USB.Мне не нужны обработчики по умолчанию: мне не нужно запускать приложение, когда устройство подключено.(Однако мне нужно # 2.)

Я попробовал это:

protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP) != 0) {
    finish();
    return;
  }
  ...
}

К сожалению, это не сработало: он удалил обе копии моей деятельности из стека, вернувшись кдомашний экран Android.Я хочу удалить или предотвратить действие, автоматически созданное Android, когда подключено известное USB-устройство.

То, что я хочу, возможно, приложение Serial USB Terminal работает следующим образом.

Как мне это сделать?

1 Ответ

0 голосов
/ 23 июня 2019

Это (singleTop), кажется, исправило это в манифесте:

<activity android:name=".MainActivity" android:launchMode="singleTop">

Я не уверен, что это правильный способ решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...