Как определить время, когда пользователь начал использовать свой телефон утром - PullRequest
0 голосов
/ 14 сентября 2018

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

1 Ответ

0 голосов
/ 14 сентября 2018

Если вы хотите слушать, когда ваше приложение работает, используйте BroadcastReceiver.Как отмечается в справочнике Android site , вы не можете объявить это в своем файле манифеста.открытый класс ScreenReceiver extends BroadcastReceiver {

// THANKS JASON
public static boolean wasScreenOn = true;

@Override
public void onReceive(Context context, Intent intent) {
    if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
        // DO WHATEVER YOU NEED TO DO HERE
        wasScreenOn = false;
    } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
        // AND DO WHATEVER YOU NEED TO DO HERE
        wasScreenOn = true;
    }
}
}

Если вы хотите все время прослушивать действия пользователя, вам нужен сервис, как показано ниже:

    public static class UpdateService extends Service {

    @Override
    public void onCreate() {
        super.onCreate();
        // REGISTER RECEIVER THAT HANDLES SCREEN ON AND SCREEN OFF LOGIC
        IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
        filter.addAction(Intent.ACTION_SCREEN_OFF);
        BroadcastReceiver mReceiver = new ScreenReceiver();
        registerReceiver(mReceiver, filter);
    }

    @Override
    public void onStart(Intent intent, int startId) {
        boolean screenOn = intent.getBooleanExtra("screen_state", false);
        if (!screenOn) {
            // YOUR CODE
        } else {
            // YOUR CODE
        }
    }
 }

Коды от 2 . * +1011 *

...