Почему receiver не запускается автоматически
Может быть я не правильно написал AndroidManifest:
<receiver
android:name="com.example.myapplication.start"
android:enabled="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.DEFAULT"/>
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<action android:name="android.intent.action.REBOOT"/>
</intent-filter>
</receiver>
BroadcastReceiver:
package com.example.myapplication;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class start extends BroadcastReceiver {
final String LOG_TAG = "autostart";
public void onReceive(Context context, Intent intent) {
System.out.println("onReceive start of background_start");
Log.d(LOG_TAG, "onReceive " + intent.getAction());
context.startService(new Intent(context, Background.class));
}
}
Тестю на Galaxy A50, android 10
Ответы (1 шт):
Автор решения: user442337
→ Ссылка
Попробуйте так:
<receiver
android:name=".receive.MyBroadcastReceiv"
android:enabled="true"
android:exported="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.REBOOT"/>
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<action android:name="com.htc.intent.action.QUICKBOOT_POWERON" />
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</receiver>
Или попробуйте exported поменять на false.
Вы добавили разрешение? Перед началом тега application добавьте теги
<uses-permission
android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.QUICKBOOT_POWERON" />
<uses-permission android:name="android.permission.REBOOT" />