Ich habe ein BackgroundReceiver
eingerichtet, um die android.intent.action.USER_PRESENT
in der Manifest-Datei erhalten gemäß:Intent.ACTION_USER_PRESENT nicht empfangen auf Bienenwabe oder ICS (Samsung) Geräte
<receiver android:name="com.demo.MyBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
Meine überschrieben onReceive(Context, Intent)
Methode ist sehr einfach:
@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);
}
}
}
- Das perfekt, 2 2.2 & auf 2.1 getestet. 3 Geräte (HTC Wunsch, HTC WildFire, Motorola Razr).
- Dies scheint nicht auf HoneyComb (Samsung Galaxy Tab 10.1) oder ICS (Samsung Galaxy Nexus) Geräten zu funktionieren.
- Nach diesem Fehler (USER_PRESENT never fires on honeycomb and ICS when keyguard is disabled), ich die Tastensperre auf den fehlerhaften Geräten. Es hat nicht geholfen.
Fragen:
- Gibt es einen Trick, diese Absicht Aktionen auf Android 3.x & 4.x zu verwenden?
- Vielleicht ist dies ein bekanntes Samsung-Problem?
- Oder vielleicht gibt es einige Geräteeinstellungen, die ich auf diesen Geräten vernachlässigt habe?
Diese Frage impliziert, dass es getan werden kann: [Bring Task in den Vordergrund auf android.intent.action.USER_PRESENT] (http://stackoverflow.com/questions/8750854/bring-task-to-front-on-android- intent-action-user-present) –