Android BOOT_COMPLETE Приемник не работает на CN1 - PullRequest
1 голос
/ 28 апреля 2020

Интересно, это вещь CN1-специфицированная c или это связано с Galaxy A6. Моя интуиция подсказывает мне, что контекст в этом приемнике и контекст в com.codename1.impl.android.AndroidNativeUtil.getActivity().getApplicationContext() не совпадают

Я добавляю ниже

В android.permission.RECEIVE_BOOT_COMPLETED подсказку сборки: true

В android.xapplication подсказка сборки:

<receiver android:name="com.groups.AutoStartReceiver">
<intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>

Затем для получателя, помещенного в native / android (где я записываю что-то в тестовый файл, чтобы убедиться, что он был вызван):

package com.groups;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class AutoStartReceiver extends BroadcastReceiver 
{
@Override
public void onReceive(Context context, Intent arg1) 
{
    DataOutputStream os = null;
  try {
      os = new DataOutputStream(context.openFileOutput("testLogger", 0));
      os.writeUTF("onReceive called");
  } catch (Exception ex) {
  } finally {
      try {
          os.close();
      } catch (IOException ex) {
      }
  }
}
}

Однако, когда я читаю содержимое текстового файла после загрузки и запуска приложения, файл не обнаруживается (FileNotFoundException)

Я проверил код, который записывает в файл отдельно (пока приложение работает) и все работает. Я знаю, что могу использовать «Предпочтения», но я стараюсь сохранить его как можно более естественным, если на момент загрузки предпочтения не нравятся ОС и т. Д. c

Я могу поделиться всем своим файлом манифеста, если это необходимо

1 Ответ

1 голос
/ 29 апреля 2020

Похоже, что BOOT_COMPLETED устарела и больше не работает. Я читал это в нескольких местах, но нигде не официально

...