5

我有一个BackgroundReceiver设置来接收android.intent.action.USER_PRESENT清单文件中的内容:

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

我的重写onReceive(Context, Intent)方法非常简单:

@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);
        }
    }
}

问题:

  1. 在 Android 3.x 和 4.x 上使用这些意图操作有什么技巧吗?
  2. 也许这是一个已知的三星问题?
  3. 或者也许我在这些设备上忽略了一些设备设置?
4

1 回答 1

2

ubuntudroid对此答案(仅带有服务的 android 应用程序)发表了评论,指出您需要至少启动一次活动,然后它才能正确接收所需的意图。

显然是在 Android 3.0 中引入的。

我还没有测试过这个理论,但它可以解释你所看到的。

于 2012-04-26T14:06:13.027 回答