在AndroidManifext.xml文件中实现BroadcastReceiver

时间:2011-03-30 17:51:19

标签: android broadcastreceiver manifest

我正在尝试在Android中使用BroadcastReceiver(使用清单)并且只是一个简单的问题。

到目前为止,我有这个......

<receiver android:name=".Listener"
  android:label="testRecv"
  android:enabled="true"
  android:exported="true"
  android:process=":recovery">
  <intent-filter>
    <action android:name="android.intent.action.SCREEN_ON"/>
  </intent-filter>
</receiver>

但是当我在测试设备或模拟器上安装apk时,没有任何事情发生在我打开我的屏幕上。以下是Listener类的代码......

public class Listener extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals("android.intent.action.SCREEN_ON")) {
            Toast t = Toast.makeText(context, "hey", 10);
            t.show();
        }
    }
}

我从来没有看到吐司被解雇(作为测试)。

我有什么遗失的吗?我从未使用过Context.registerReceiver(),因为我在清单中声明了,所以我虽然不需要。

关于这整件事最令人困惑的部分是文件对它没有帮助。任何人都可以帮我理解这些东西吗?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

if (intent.getAction().equals("android.intent.action.SCREEN_ON")) {
            Toast t = Toast.makeText(context, "hey", 10);
            t.show();
        }

您不需要if语句