몇 초 전에 위젯을 디버깅 중이었고 내 위젯이 홈 화면에 없더라도 onReceive
메서드가 호출되었음을 알았습니다 (WIFI_STATE_CHANGED_ACTION
수신 대기). 내 위젯의 프로세스가 실행 중이 지 않더라도 시작되고 메소드가 호출됩니다.onReceive가 호출되어서는 안되는 경우
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
<receiver android:name="WiFiWidget">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widget_info" />
</receiver>
</application>
방법 onReceive
은 단순히 다른 방법 toggleState
를 (와이파이 상태를 변경하는)를 호출 한 후 오프에서 이미지 또는 (위젯 이미지를 업데이트 : 매니페스트 코드는 다음과 같다 viceversa). 분명히
두 가지 방법 toggleState 및 updateWidget (그래서 전체 onReceive) 위젯이 홈 화면에 실제로 활성화되어 있지 않으면 쓸모가의 호출 .. 그래서
, 내 onReceive
는 경우에만 호출합니다 내 위젯은 효과적으로 홈 화면에 배치됩니다.이 일을 할 수있는 방법이 있습니까? :) 답변
이 'BroadcastReceiver'설정 방법에 대해 좀 더 구체적으로 질문을 편집 할 수 있습니까? – CommonsWare
당신이 옳습니다, 죄송합니다 :) .. 코드가 추가되었습니다. – Salv0