android:广播接收器用于屏幕和屏幕关闭


Answers

您需要创建后台服务来检查它。 然后,您可以以编程方式设置它。

Question

我只是想知道是否可以在应用程序清单中注册检测屏幕ON / OFF的广播接收器。 我不喜欢可编程方法的原因是它需要运行应用程序以便检测这样的事情,同时:“当Intent是Intent时,在清单中注册的广播接收器的应用程序不必运行广播接收器执行“(来源:专业Android 2应用程序开发书)

我的应用程序实际上是一个锁屏应用程序,通过使用可编程方式需要一直运行:S

有办法解决吗?

我在清单中尝试以下内容:

<receiver android:name=".MyBroadCastReciever">
    <intent-filter>
        <action android:name="android.intent.action.SCREEN_OFF"/>
        <action android:name="android.intent.action.SCREEN_ON"/>
    </intent-filter>
</receiver>

和简单的MyBroadCastReciever类:

public class MyBroadCastReciever extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
            Log.i("Check","Screen went OFF");
            Toast.makeText(context, "screen OFF",Toast.LENGTH_LONG).show();
        } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
            Log.i("Check","Screen went ON");
            Toast.makeText(context, "screen ON",Toast.LENGTH_LONG).show();
        }
    }
}



Related