Intent.ACTION_USER_PRESENT nie został odebrany na urządzeniach HoneyComb lub ICS (Samsung)
mamBackgroundReceiver
skonfigurować, aby otrzymaćandroid.intent.action.USER_PRESENT
w pliku manifestu według:
<code> <receiver android:name="com.demo.MyBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.USER_PRESENT" /> </intent-filter> </receiver> </code>
Moje przesłonięteonReceive(Context, Intent)
metoda jest bardzo prosta:
<code>@Override public void onReceive(Context context, Intent intent) { if (intent != null) { if (Intent.ACTION_USER_PRESENT.equals(intent.getAction()) { // wrapper for Log.d(String, String) Dbug.log("MyBroadcastReceiver: [" + intent.getAction() + "]"); // this calls a service serviceExample(context, intent); } } } </code>To sprawdziło się doskonale na urządzeniach 2.1, 2.2 i 2.3 (HTC Desire, HTC WildFire, Motorola Razr).Nie działa to na urządzeniach HoneyComb (Samsung Galaxy Tab 10.1) ani ICS (Samsung Galaxy Nexus).Jak na ten błąd (USER_PRESENT nigdy nie odpala na plaster miodu i ICS, gdy blokada klawiatury jest wyłączona), Ustawiłem blokadę klawiatury na uszkodzonych urządzeniach. To nie pomogło.
Pytania:
Czy jest jakaś sztuczka w korzystaniu z tych zamierzonych działań na Androidzie 3.x i 4.x?Być może jest to znany problem Samsunga?A może jest jakieś ustawienie urządzenia, które zaniedbałem na tych urządzeniach?