2016-12-26 3 views
0

수정 명확성을 위해 모든 항목이 지워졌습니다. 정보에 대한 요청을 간단하게하기 위해 : 휴대 전화가 잠 들어 있거나 앱이 포 그라운드에 있지 않을 때 휴대 전화의 마모 메시지 수신을 처리하는 가장 좋은 방법은 무엇입니까?Android Wear 모닝콜

이러한 상황에서 휴대 전화로 메시지를 보내더라도 휴대 전화는 메시지를 수신하거나 처리하지 않습니다. 나는 어느 것을 모른다.

다음 읽을 경우 : 1) 부분 wakelocks를 - 난 정말 CPU를 유지하려는 그나마 좋은하지 깨어 2) 핸들러 3) 브로드 캐스트 리시버 4 내가 정확히 내가해야 모르는

) 서비스 앱이 전경 및/또는 자고 있지 않을 때 내 앱으로 메시지를 처리하기 위해해야합니다.

수면 중에 onMessageReceieved()가 처리해야하거나 앱이 포 그라운드에 있지 않은 경우 나에게도 도움이 될 것이라는 것을 알려주는 경우 내 앱에서보고있는 것에 기반하지 않아야한다고 생각합니다.

또한 리스너 서비스 대신 livelisteners를 사용하고 있습니다. 이게 내 문제 야? 대신 wearablelistenerservice 클래스로 전환하면 문제가 해결되고 올바르게 작동합니까? 내가이

@Override 
public void onConnected(Bundle connectionHint) { 
    if (Log.isLoggable(TAG, Log.DEBUG)) { 
     Log.d(TAG, "Connected to Google Api Service"); 
    } 
    Wearable.MessageApi.addListener(mGoogleApiClient, this); 
} 

할 대신에 나는이 할 경우 :

public class DataLayerListenerService extends WearableListenerService{ 

을이 할 다음 거기에 내 모든 코드를 넣어 : 내 수신하지 해결

<service android:name=".DataLayerListenerService"> 
    <intent-filter> 
     <action android:name="com.google.android.gms.wearable.DATA_CHANGED" /> 
     <data android:scheme="wear" android:host="*" 
      android:path="/start-activity" /> 
    </intent-filter> 
</service> 

의지를 포 그라운드에 있지 않을 때와 전화가 잠 들어있을 때의 메시지 문제? 이 의도는 백그라운드에서 실행되는 서비스로 작동합니까?

답변

0

keeping the CPU on과 같이 사용할 수있는 다양한 접근 방법을 설명한 Keeping the Device Awake을 확인하는 것이 좋습니다. 언급 한 바와 같이

,

당신이 장치가 절전 모드로 전환하기 전에 몇 가지 작업을 완료하기 위해 CPU을 계속 실행해야하는 경우 웨이크 잠금라는 PowerManager 시스템 서비스 기능을 사용할 수 있습니다. 웨이크 잠금 장치를 사용하면 응용 프로그램에서 호스트 장치의 전원 상태를 제어 할 수 있습니다.

documentation의 웨이크 잠금 장치에 대한 추가 팁과 정보를 찾을 수 있습니다.

+0

답변을 주셔서 감사 드리며, 시도해 보았습니다. 부분적으로 wakelock을 사용하여 CPU를 깨우려고했습니다. 실패했다. 플러스 매우 비효율적 인 고려해 나는이 기능을 매 5-10 분마다 사용하고 그것을 기다리고있는 wakelock을 바보처럼 보이기를 원합니다. 나는 어제 wakelocks에 대한 더 많은 독서를하고 이것을 시도했다. –

0

WearableListenerService를 확장하고 manifest에 서비스를 추가하는 클래스를 사용하면 전화가 꺼져있을 때 작업 할 수 있습니다. 이제 구현하고 기본 피드에 상호 작용하여 기본 화면에서 데이터를 업데이트해야합니다.