如何在Android Wear 2.0中访问提供程序支持的类型

时间:2016-09-23 16:30:00

标签: android-wear-2.0

我开始研究新的Android Wear 2.0 Api专门的并发症。我发现Complications将默认为提供商也支持的“最简单”支持类型,例如当兼容性支持TYPE_SHORT_TEXT以及TYPE_RANGED_VALUE时,Android Wear Battery Life将默认为TYPE_SHORT_TEXT。所以我想知道是否有办法访问提供程序支持的类型(在提供程序作为服务的清单中添加),如下所示。

<meta-data android:name="android.support.wearable.complications.SUPPORTED_TYPES"
            android:value="RANGED_VALUE,SHORT_TEXT,LONG_TEXT"/>

有没有办法访问受支持类型的提供程序?

编辑:

我找到了通过读取清单的元数据来访问支持的提供者类型的方法,其中需要声明支持的服务类型。

ComponentName service = new ComponentName(this, DataProvider.class);
        try {
            Bundle bundle = getPackageManager().getServiceInfo(service, PackageManager.GET_META_DATA).metaData;
            if(bundle != null) {
                for (String key : bundle.keySet()) {
                    Object value = bundle.get(key);
                    Log.d(TAG, String.format("%s %s (%s)", key,
                            value.toString(), value.getClass().getName()));
                }
            }
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

虽然我仍然想知道如何访问支持类型的Google系统构建的提供商(在AppName:Android Wear下),如手表电池,世界时钟等。

有什么想法吗?

0 个答案:

没有答案