Слушайте пользовательское событие (многопользовательское устройство)

У меня есть приложение, которое запускается, если телефон загружается. Пользователь сказал мне, что его телефон используется двумя людьми, один из них использует мое приложение, а другое нет.

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

Edit

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

Ответы

Ответ 1

Выполнение сложной задачи: Регистрация фона | широковещательный приемник события события переднего плана и проверка на переход пользователя:

ACTION_USER_BACKGROUND и ACTION_USER_FOREGROUND

Полный исходный код: https://readyandroid.wordpress.com/event-for-switch-user-multiusersupport-android/

Еще много: https://readyandroid.wordpress.com/

Ответ 2

Вам нужно искать что-то под названием BroadcastReciever в android. Они используются для захвата таких событий, как щелчок камеры, загрузка телефона, разблокировка экрана и т.д. Эти события имеют обратный вызов, называемый onReceive, где вы можете реализовать свой логин.

Это довольно легко, и вы можете использовать его в Google.

В вашем манифесте:

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

В вашем элементе приложения (обязательно используйте полное/квалифицированное имя класса для вашего BroadcastReceiver):

<receiver android:name="com.example.MyBroadcastReceiver">  
    <intent-filter>  
        <action android:name="android.intent.action.BOOT_COMPLETED" />  
    </intent-filter>  
</receiver>

В MyBroadcastReceiver.java:

package com.example;

public class MyBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Intent startServiceIntent = new Intent(context, MyService.class);
        context.startService(startServiceIntent);
    }
}