Зефирное намерение.ACTION_BOOT_COMPLETED

у меня сгнил Nexus6 С Android6. Я создал системное приложение (находится в system/app), я хочу выполнить простой код при получении ACTION_BOOT_COMPLETED, но по какой-то причине код не выполняется..

Манифест:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.atest">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

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

        <receiver
            android:name="com.atest.testReceiver">
            <intent-filter android:enabled="true">
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
            </intent-filter>
        </receiver>

        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

Получатель:

public class testReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
            // Some simple code
        }
    }
}

Какие-либо предложения?

EDIT: При выполнении с adb следующее:

am broadcast -a android.intent.action.BOOT_COMPLETED -p com.atest

Код выполняется, как и ожидалось, но при перезагрузке/загрузке все еще безуспешно.


person MTZ4    schedule 02.05.2016    source источник
comment
Как он устанавливается в /system/app? Это ваша большая подсказка, ваше приложение не имеет привилегий системного уровня. Вместо этого установите его как обычный пользователь.   -  person t0mm13b    schedule 02.05.2016
comment
1. Ваше приложение действительно установлено? Вы видите это на странице настроек приложения? Попробуйте найти в logcat информацию об имени вашего пакета. 2. Работает ли этот код на устройстве с версией Android ниже 6? 3. Перед установкой в ​​качестве системного приложения попробуйте установить его как обычное приложение. Теперь код работает?   -  person Daniel    schedule 02.05.2016
comment
@ t0mm13b я не уверен, что понимаю, что ты имеешь в виду? что такое "обычный пользователь"? и почему я должен получать разрешения таким образом?   -  person MTZ4    schedule 02.05.2016
comment
@ Даниэль 1. Да. 2. нужно проверить... 3. Я уже устанавливал его раньше как обычное приложение. у меня не было разрешений на загрузку. Но я проверил тот же код для действия USER_PRESENT, и он работал отлично.   -  person MTZ4    schedule 02.05.2016
comment
Я говорю, что установленные пользователем приложения не входят в /system/app, который является системными приложениями, такими как карты Google и т. Д. Все системные приложения имеют системные привилегии и подписаны производителем ПЗУ.   -  person t0mm13b    schedule 02.05.2016
comment
1. Попробуйте открыть приложение, используя активность запуска, и перезагрузите компьютер. Ваш код выполняется? 2. Попробуйте поместить приложение в каталог /system/app-priv   -  person Daniel    schedule 02.05.2016
comment
@ t0mm13b Я понимаю, это не системное приложение, а приватное, как предложил Даниэль. Я переместил его в /system/priv-app и все еще безуспешно.   -  person MTZ4    schedule 04.05.2016
comment
@Daniel относительно (1), приложение было открыто до перезагрузки, если вы это имеете в виду. Спасибо вам обоим, у вас есть другие предложения? я все еще застрял...   -  person MTZ4    schedule 04.05.2016
comment
Имя получателя не должно быть .testReceiver? Почему это com.atest.testReceiver?   -  person Daniel    schedule 04.05.2016
comment
Я пытался изменить его, потому что в этой теме: заголовок ="android, почему я не получаю намерение о завершении загрузки"> stackoverflow.com/questions/16691806/ Но в любом случае это тот же результат   -  person MTZ4    schedule 04.05.2016
comment
О, я нашел кое-что интересное, я отредактирую вопрос, может быть, это поможет понять это.   -  person MTZ4    schedule 04.05.2016
comment
@Daniel также пробовал на Android 4.4.2 (тоже рутированный, в приватном приложении и все такое). Результат тот же .. я думаю, что я что-то упускаю. Не знаю, что, наверное, очень простой...!   -  person MTZ4    schedule 04.05.2016
comment
Вы просмотрели это. Попробуйте изменить installLocation на внутреннее или добавить категорию?   -  person t0mm13b    schedule 04.05.2016
comment
Обычно вам не нужно использовать. Переключатель -p для проверки вашего приемника. Если его опустить, это сработает?   -  person Daniel    schedule 04.05.2016
comment
@ t0mm13b только что попробовал .. безуспешно.   -  person MTZ4    schedule 05.05.2016
comment
@Daniel без устройства -p перезагрузится..   -  person MTZ4    schedule 05.05.2016