В настоящее время я работаю над приложением для запуска действия каждый раз, когда устройство разблокировано, следующий код хорошо работает для небольших устройств с Android api oreo.
Манифест:
<receiver
android:name=".ScreenReceiver"
android:enabled="true" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.SCREEN_OFF" />
<action android:name="android.intent.action.SCREEN_ON" />
<action android:name="android.intent.action.USER_PRESENT" />
<category android:name="android.intent.category.DEFAULT" >
</category>
</intent-filter>
</receiver>
У меня также есть в манифесте
<uses-permission android: name ="android.permission.RECEIVE_BOOT_COMPLETED" />
Класс ScreenReceiver:
public class ScreenReceiver extends BroadcastReceiver {
ScreenReceiver screen;
Context context=null;
@Override
public void onReceive(Context context, Intent intent)
{
this.context=context;
if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)||intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)||intent.getAction().equals(Intent.ACTION_USER_PRESENT))
{
Intent i = new Intent(context, DictionaryView.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
}
Мне нужно запускать действие каждый раз, когда телефон разблокирует предыдущийкод работает довольно хорошо для более ранних версий Android Oreo, но эта версия не работает, потому что он никогда не запускает активность после разблокировки устройства.Друзья, пожалуйста, мне нужна помощь, поиск полезной информации занимает пару часов, но безуспешно.