我的Android應用程序(帶有可穿戴支持)由三個庫組成:移動(移動部分),穿戴(可穿戴部分)和普通(移動和穿戴都依賴的通用庫)。檢查移動設備或可穿戴設備
在公共庫的一些代碼中,我需要確定它是在移動設備上還是在可穿戴設備上執行。什麼將是一個很好的方式來做到這一點?
我的Android應用程序(帶有可穿戴支持)由三個庫組成:移動(移動部分),穿戴(可穿戴部分)和普通(移動和穿戴都依賴的通用庫)。檢查移動設備或可穿戴設備
在公共庫的一些代碼中,我需要確定它是在移動設備上還是在可穿戴設備上執行。什麼將是一個很好的方式來做到這一點?
可能有別人會提出一個簡單的,正式的方式,但這裏有幾個簡單的DIY技巧:
檢查一個包,是每個Wear設備上的存在(但只佩戴裝置),如com.google.android.apps.wearable.settings
。如果Wear設備(或更新)在沒有此包的情況下到達,可能會很脆弱。
在自己的模塊中定義不同的穿戴式和手持式資源。然後,您可以在代碼中的任何位置檢查該資源,以確定它運行在哪個設備上。
這就是我使用的。
public static boolean isWatch(Context context){
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT_WATCH) {
return false;
}else{
return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH);
}
}