Требуется много времени для получения загрузки полной трансляции

У меня есть приложение, которое должно работать при запуске системы Android, я использовал обычный способ регистрации трансляции и получения его:

в manifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.automation.isolace"
    android:versionCode="8"
    android:versionName="1.3"
    android:installLocation="internalOnly" >

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

   <application
   .
   .
   .
      <receiver
        android:name="com.automation.standards.BootCompletedReceiver"
        android:enabled="true"
        android:exported="true"
        android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
        <intent-filter android:priority="999">
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.QUICKBOOT_POWERON" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
      </receiver>
        .
        .
        .
    </application>
</manifest>

И в BroadcastReceiver учебный класс:

public class BootCompletedReceiver extends BroadcastReceiver{
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("MConn", "BOOT_COMPLETED received");
    }
}

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

Как явствует из кода в манифесте, я пытался придать вещанию самый высокий приоритет, но проблема до сих пор не решена.

Итак, каковы возможности, которые могут сделать это, и есть ли способ решить это? и есть ли способ обойти это обходным путем (например, запретить устройству некоторое время отображать экран или блокировать запуск системы домашней раскладки)?

0 ответов

Другие вопросы по тегам