시계가 주변 화면 모드에있을 때 감지하는 방법이 있습니까? 시계 모드로 설정하고 주변 화면 모드가 켜져있을 때 (시계가 화면에 표시됨) 시계를 업데이트하려고하지만 화면이 꺼져있을 때 업데이트를 중지하고 싶습니다. 지금은 및 onResume
메서드에서 업데이트를 시작 및 중지하지만 주변 화면 모드가 켜지면 메서드가 호출됩니다.Android Wear가 주변 화면 모드를 감지합니다.
감사합니다.
시계가 주변 화면 모드에있을 때 감지하는 방법이 있습니까? 시계 모드로 설정하고 주변 화면 모드가 켜져있을 때 (시계가 화면에 표시됨) 시계를 업데이트하려고하지만 화면이 꺼져있을 때 업데이트를 중지하고 싶습니다. 지금은 및 onResume
메서드에서 업데이트를 시작 및 중지하지만 주변 화면 모드가 켜지면 메서드가 호출됩니다.Android Wear가 주변 화면 모드를 감지합니다.
감사합니다.
앰비언트 모드가 변경되었다는 알림을 받으려면 DisplayListener
을 사용해야합니다. 당신은 here
일반적인 방법은 안드로이드 WearableActivity을 사용하고 onEnterAmbient
및 onExitAmbient
을 구현하는 것을 할 수있는 방법을 찾을 수 있습니다.
그리고 다른 이유가 있습니다. DisplayListener를 사용하여 표시 상태가 DOZE인지 DOZE_SUSPEND인지 확인합니다.
대신 AmbientMode.AmbientCallbackProvider
콜백을 구현해야합니다.
이 새로운 선호하는 방법이며, 그것은 여전히 당신에게 onEnterAmbient()
, onAmbientUpdate()
및 onExitAmbient()
을 제공하지만, 또한 당신이 Activity
(또는 하위 클래스 ... FragementActivity 등)을 사용할 수 있습니다. 또한 Architecture 구성 요소를 지원할 수 있습니다.
Official docs call out the details (and example code) 아래에 설명 된대로
public class MainActivity extends Activity implements AmbientMode.AmbientCallbackProvider {
/*
* Declare an ambient mode controller, which will be used by
* the activity to determine if the current mode is ambient.
*/
private AmbientMode.AmbientController mAmbientController;
…
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
...
mAmbientController = AmbientMode.attachAmbientSupport(this);
}
...
…
@Override
public AmbientMode.AmbientCallback getAmbientCallback() {
return new MyAmbientCallback();
}
…
private class MyAmbientCallback extends AmbientMode.AmbientCallback {
@Override
public void onEnterAmbient(Bundle ambientDetails) {
// Handle entering ambient mode
}
@Override
public void onExitAmbient() {
// Handle exiting ambient mode
}
@Override
public void onUpdateAmbient() {
// Update the content
}
}
Android Wear는이 onEnterAmbient와 onExitAmbient와 WearableActivity에 내장했다. – codingjeremy
죄송합니다. 너무 빨리 말하면서 더 나은 접근 방식을 추가했습니다 (AmbientMode.AmbientCallbackProvider). 나는 아래에 세부 사항을 설명했다. – codingjeremy