У меня есть трансляция, которая контролирует событие разблокировки телефона. Но когда процесс приложения убит и больше не находится в памяти, разблокировка телефона не вызывает приемник, вместо этого я вижу в студии Android этот новый процесс для этого приложения.Трансляция не запускается при создании процесса
Если замок и разблокировать его снова, то, когда процесс уже запущен, я вижу, что запускается BroadcastReceiver
.
<receiver
android:name=".UserPresentBroadcastReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
Broadcast Receiver:
public class UserPresentBroadcastReceiver extends BroadcastReceiver {
private static final String TAG = UserPresentBroadcastReceiver.class.getSimpleName();
@Override
public void onReceive(Context arg0, Intent intent) {
Log.d(TAG, "onReceive: Unlock Boradcast received");
if (intent.getAction().equals(Intent.ACTION_USER_PRESENT)) {
Toast.makeText(arg0, "You just unlocked the device", Toast.LENGTH_LONG).show();
}
}
}
Я не могу понять это поведение. Это поведение по умолчанию?
Это работает. Фактически, когда я впервые разблокирую устройство, он создает этот процесс. Во второй раз я разблокировал устройство. Он показал мне тост-сообщение. И со второго раза все время он работает отлично. Снова после его удаления из памяти первая разблокировка не запускает широковещательный приемник. – kirtan403
=> он не будет работать должным образом. –