Вопрос по android – Intent.ACTION_USER_PRESENT не получено на устройствах HoneyComb или ICS (Samsung)

6

У меня естьBackgroundReceiver настроен на получениеandroid.intent.action.USER_PRESENT в файле манифеста согласно:

<code>    <receiver android:name="com.demo.MyBroadcastReceiver">
        <intent-filter>
            <action android:name="android.intent.action.USER_PRESENT" />
        </intent-filter>
    </receiver>
</code>

Моя переопределенаonReceive(Context, Intent) метод очень прост:

<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>
Это отлично протестировано на устройствах 2.1, 2.2 и 2.3 (HTC Desire, HTC WildFire, Motorola Razr). Похоже, это не работает на устройствах HoneyComb (Samsung Galaxy Tab 10.1) или ICS (Samsung Galaxy Nexus). По этой ошибке USER_PRESENT никогда не срабатывает на сотовые и ICS, когда защита клавиатуры отключена), Я установил защиту клавиатуры на неисправных устройствах. Это не помогло.

Вопросов

Есть ли хитрость в использовании этих намеренных действий на Android 3.x и 4.x? Возможно, это известная проблема Samsung? Или, может быть, на этих устройствах я пренебрегал настройками устройства?
этот вопрос подразумевает, что это можно сделать: Перенесите задачу на android.intent.action.USER_PRESENT Richard Le Mesurier

Ваш Ответ

1   ответ
2

Ubuntudroid на этот ответ Android-приложение только с сервисом) в котором говорится, что вам нужно начать свою деятельность хотя бы один раз, прежде чем она правильно получит нужные намерения.

По-видимому, представлен в Android 3.0.

Я еще не проверял эту теорию, но она объясняет, что ты видишь.

Я столкнулся с похожим поведением, которое можно объяснить этим. Я автоматически развертывал APK на устройстве и затем взаимодействовал с ним через широковещательные приемники. (Android 5.1.1). Действие USER_PRESENT было получено периодически. running-codebase

Похожие вопросы