HMS判定方法
HuaweiApiAvailability.getInstance().isHuaweiMobileServicesAvailable()で判定します。
端末にHMSが入っている、戻り値がtrueになり、HMSが入っていなければ、戻り値がfalseになります。
if (com.huawei.hms.api.ConnectionResult.SUCCESS == HuaweiApiAvailability.getInstance().isHuaweiMobileServicesAvailable(context)) {
// HMSあり
// HMS Account KitのAndroid SDKを使います
} else {
// HMSなし
// HMS Account KitのREST APIを使います
}
Strategy パターンを使う場合、ソースコードが次のようになります。
MainActivity.kt
private lateinit var huaweiIdLogic: HuaweiIdLogic
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
...
huaweiIdLogic = if (com.huawei.hms.api.ConnectionResult.SUCCESS == HuaweiApiAvailability.getInstance().isHuaweiMobileServicesAvailable(context)) {
HmsHuaweiIdLogic()
} else {
NonHmsHuaweiIdLogic()
}
}
シリーズ
- Android端末におけるHUAWEI IDログイン機能の詳細実装手順1-ソリューションの概要
- Android端末におけるHUAWEI IDログイン機能の詳細実装手順2-実装準備
- Android端末におけるHUAWEI IDログイン機能の詳細実装手順3-HMS判定
- Android端末におけるHUAWEI IDログイン機能の詳細実装手順4-HMS端末でログイン
- Android端末におけるHUAWEI IDログイン機能の詳細実装手順5-HMS端末でログアウト
- Android端末におけるHUAWEI IDログイン機能の詳細実装手順6-HMS端末で権限取り消し
- Android端末におけるHUAWEI IDログイン機能の詳細実装手順7-GMS端末でログイン1
- Android端末におけるHUAWEI IDログイン機能の詳細実装手順8-GMS端末でログイン2
- Android端末におけるHUAWEI IDログイン機能の詳細実装手順9-GMS端末でログアウト
- Android端末におけるHUAWEI IDログイン機能の詳細実装手順10-GMS端末で権限取り消し
GitHub
参考
- HMS:https://developer.huawei.com/consumer/jp/
- HMS Account Kitの紹介:https://developer.huawei.com/consumer/jp/doc/overview/HMS
- HMS Account Kitのドキュメント:https://developer.huawei.com/consumer/jp/doc/development/HMSCore-Guides-V5/introduction-0000001050048870-V5
- Huawei Developers:https://forums.developer.huawei.com/forumPortal/en/home
- Facebook Huawei Developersグループ:https://www.facebook.com/Huaweidevs/