티스토리 뷰

반응형
SMALL

워치와 핸드폰이 서로 같은 서로 의존하는 앱이 설치 되어 있는 지 유무를 판단 하는 방법

 

https://developer.android.com/training/wearables/apps/standalone-apps?hl=ko

 

독립형 Wear OS 앱과 비독립형 Wear OS 앱 비교  |  Android 개발자  |  Android Developers

독립형 Wear OS 앱과 비독립형 Wear OS 앱 비교 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Wear OS 앱은 휴대전화와는 별도로 작동하여 사용자가 Android 또는 iO

developer.android.com

 

서로 페어링 되어 있는 상태에서 서로 의존 하는 앱이 설치 되어 있는지 먼저 판단하는 로직이 필요

 

SampleApp

 

반응형
// 폰 프로젝트 res/values/wear.xml
<resources xmlns:tools="http://schemas.android.com/tools"
        tools:keep="@array/android_wear_capabilities">
    <string-array name="android_wear_capabilities">
        <item>phone_app</item>
    </string-array>
</resources>


// wear 프로젝트 res/values/wear.xml
<resources xmlns:tools="http://schemas.android.com/tools"
        tools:keep="@array/android_wear_capabilities">
    <string-array name="android_wear_capabilities">
        <item>wear_app</item>
    </string-array>
</resources>

우선 요것이 핵심 

 

2023.07.27 - [Android/Wear] - [ Wear #1 ] Wear OS 프로젝트 만들기

 

[ Wear #1 ] Wear OS 프로젝트 만들기

웨어러블 앱을 만들 때 디바이스와 상호작용 할 앱을 만들지, 웨어러블 단독으로 동작하는 앱을 만들지, 를 구분하고 시작 하는것이 좋다. 디바이스와 상호 작용을 할 앱이라면, 스토어에 등록

jihunstudy.tistory.com

 

  • 사이닝 키가 서로 같아야 한다.
  • application Id 가 서로 같아야 한다.
  • 패키지명이 서로 같아야 한다 ( 이건 스토어 배포 때문에 무조건 같아야 하는데 동작상으로는 사실 상관이 없음 )

Sample 앱을 참고해서 동일하게 적용 하게 되면 연결이 가능 하다. 

 

 

수동적으로 한번 페어링 된 상태에서 의존하는 앱이 설치 되어 있는지 확인하기 위해서는 

// 폰 프로젝트 에서 확인 방법
val capabilityInfo = Wearable.getCapabilityClient(this)
                .getCapability("wear_app", CapabilityClient.FILTER_ALL)
                .await()

// 웨어러블 프로젝트에서 확인 방법 
val capabilityInfo = Wearable.getCapabilityClient(this)
                .getCapability("phone_app", CapabilityClient.FILTER_ALL)
                .await()
                


// 이 안에 정보가 들어 있다. 웨어러블과 디바이스간 통신이 필요한 id 값을 추출 할 수 있다. 
capabilityInfo.nodes

 

반응형
LIST
댓글