所以我一直在嘗試註冊Intent.ACTION_DREAMING_STARTED
我AndroidManifest
內沒有成功。註冊Intent.ACTION_DREAMING_STARTED在AndroidManifest
<application>
...
<receiver android:name=".broadcastReceivers.DreamingReceiver">
<intent-filter>
<action android:name="android.intent.action.DREAMING_STOPPED"/>
<action android:name="android.intent.action.DREAMING_STARTED"/>
</intent-filter>
</receiver>
...
</application>
下面是接收機的定義。
public class DreamingReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
Log.d("DreamingReceiver", "Intent: " + intent.getAction());
}
}
當白日夢實際開始時,只有沒有來自該BroadcastReceiver的日誌。
然而,當我在Activity
的onCreate
方法定義接收器,像這樣:
this.receiver = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent)
{
Log.d("Activity Dreaming", "Intent: " + intent.getAction());
}
};
IntentFilter filter = new IntentFilter(Intent.ACTION_DREAMING_STARTED);
filter.addAction(Intent.ACTION_DREAMING_STOPPED);
this.registerReceiver(this.receiver, filter);
我確實收到每當我的設備進入/離開遐想日誌。 是否有一個原因,我在我的AndroidManifest定義的BroadcastReceiver
沒有趕上意圖是什麼?
顯然,根據該Intent
reference
FYI這不需要任何許可,Android KitKat上運行4.4
謝謝!完美的答案! – Snaker