Почему ACTION_USER_PRESENT не принимается?

#java #android

#java #Android

Вопрос:

ACTION_USER_PRESENT не зарегистрирован в моем приложении, что бы я ни пробовал, он никогда не регистрируется, то же самое относится и к ACTION_SCREEN_ON нему. Вот какой-то код, который я написал, чтобы подсчитать количество разблокировок, но он не работает. Я скопировал его из другого поста StackOverflow, в котором объяснялось, как подсчитывать разблокировки.

 public class FragmentStats extends Fragment {

    private static final String TAG = "StatsFragment";
    private TextView textView;
    private SharedPreferences preferences;
    private SharedPreferences.Editor editor;
    private int count = 0;

    public class PhoneUnlockedReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {

            KeyguardManager keyguardManager = (KeyguardManager)context.getSystemService(Context.KEYGUARD_SERVICE);
            if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
                if (keyguardManager.inKeyguardRestrictedInputMode()) {
                    count  ;
                    editor = preferences.edit();
                    editor.putInt("tag", count).commit();
                }
            } else {
                if (keyguardManager.isDeviceLocked()) {
                    count  ;
                    editor = preferences.edit();
                    editor.putInt("tag", count).commit();
                }
            }
            Log.d(TAG, "unlock registered");

        }
    }

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_stats, container, false);
        textView = view.findViewById(R.id.numberOfUnlocksTxt);

        getActivity().registerReceiver(new PhoneUnlockedReceiver(), new IntentFilter("android.intent.action.USER_PRESENT"));

        preferences = getActivity().getSharedPreferences("label", 0);

        count = preferences.getInt("tag", 0);

        textView.setText("Total Number of Unlocks "   count);

        return view;
    }
}