안드로이드 whatsApp 메시지 보내기
회사에서 웹앱 작업을 하는데 서버개발자가 안드로이드만 url로 왓츠앱 메시지 보내기가 안된다고한다. ㅜㅜ
https://api.whatsapp.com/send?phone=821012345678&text=https://okcar-user.appdev.co.kr/redirect/metaTag?rentalNo=8%20%20%20%20%20%20%20%20&preview_url=true
uri은 대략 위와 같은 형식이였다.
검색을 해보니까 안드로이드에서만 저 url로 왓츠앱 메시지 보내기가 안된다고한다.
ios는 가능한데;; ㅜㅜ
안드로이드는 저 uri를 인텐트로 띄워줘야한다고 한다.
val whatsAppPackageName = "com.whatsapp"
try {
val pm = packageManager;
pm.getPackageInfo("com.whatsapp", PackageManager.GET_ACTIVITIES)
val whatsAppIntent = Intent(Intent.ACTION_VIEW)
whatsAppIntent.data = uri
startActivity(whatsAppIntent)
} catch (e: PackageManager.NameNotFoundException) {
e.printStackTrace()
startActivity(
Intent(
Intent.ACTION_VIEW,
Uri.parse("market://details?id=$whatsAppPackageName")
)
)
} catch (e: ActivityNotFoundException) {
e.printStackTrace()
startActivity(
Intent(
Intent.ACTION_VIEW,
Uri.parse("market://details?id=$whatsAppPackageName")
)
)
}
방법은 위와 같다.
복잡한건 없어서 설명할 건 따로 없을 것 같고...
packageManager로 왓츠앱의 패키지명으로 정보를 가져옮으로써 현재 디바이스에 왓츠앱이 설치되어있는지 확인한다 라는 것만 알고 있으면 될거 같다.
그리고 Android11부터 특정 앱 설치 유무를 판단할 때
안드로이드 매니페스트 파일에서
<queries>
<package android:name="com.whatsapp"/>
</queries>
위와같이 태그를 추가해주어야한다.
끝!~
댓글 없음:
댓글 쓰기