경보 앱을 만들고 있습니다. 경보가 의도를 시작할 때 수신기는 "마술"이 일어나는 곳에서 시작됩니다. 어떻게 든 브로드 캐스트 수신기 내부의 onReceive()
메서드는 한 번 이상 호출됩니다.수신기가 호출 된 후 의도가 두 번 이상 호출되었습니다.
왜 그런가?
편집 : 화면이 발생하지 않습니다 열려있는 경우는, 화면이 닫혀 한 번 만 더 후라고
. 화면을 닫을 때이 코드를 호출하여 엽니 다.
KeyguardManager km = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
KeyguardManager.KeyguardLock kl = km.newKeyguardLock("MyKeyguardLock");
kl.disableKeyguard();
WakeLock wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK |
PowerManager.ACQUIRE_CAUSES_WAKEUP |
PowerManager.ON_AFTER_RELEASE, "MyWakeLock");
wakeLock.acquire();
무엇이 잘못 되었나요?
<receiver android:name="com.xxx.xxx.myAlarmReceiver" >
<intent-filter>
<action android:name="REFRESH_THIS" />
</intent-filter>
</receiver>
나는 REFRESH_THIS
확실하지 않다 다음 AndroidManifest.xml
에서이 코드를 사용하여 브로드 캐스트 리시버를 등록했다. 하지만 여전히, 만약 내가 그것을 변경 수신기는 여전히 한 번 더 호출됩니다.