我看到,在Apple Watch中,当手表与iPhone断开连接时,在手表应用程序中,顶部中心会有一个图标,表明手表已断开连接.

在Wear OS中也有类似的东西吗?

某种操作系统级别的图标,可以很容易地实现,就像我可以在Compose中使用TimeText()来显示操作系统时间,而不必自己处理它?

或者,我唯一的 Select 是使用蓝牙管理器判断连接,并基于此显示一个自定义图标?

我试着将我的Wear OS设备设置为飞行模式.这将在手表表面显示一个断开图标.我想在应用程序中显示该图标.似乎没有关于这个话题的官方文件,所以也许这是不可能的?

推荐答案

没有操作系统级别的工具.你可以不使用蓝牙管理器,而是订阅NetworkManager,然后显示你是否连接到了配对的手机,或者是否可能有Wifi/LTE网络.

        val networkRequest = NetworkRequest.Builder()
            .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
            .addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
            .addTransportType(NetworkCapabilities.TRANSPORT_BLUETOOTH)
            .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
            .build()
        connectivityManager.registerNetworkCallback(networkRequest, networkCallback)

TimeText组件是可扩展的,因此您可以添加前导内容,如下所示.

https://github.com/google/horologist/blob/fe6ee111501b05fbd1d33dd1bdd9fe87333c4477/network-awareness/src/main/java/com/google/android/horologist/networks/ui/DataUsageTimeText.kt#L4

Android相关问答推荐

添加可组合元素的列表?

Android系统应用程序启用编程以太网网络共享

如何将我的Android应用程序(Kotlin)中的图像分享给其他应用程序?

如何在初始合成期间在可组合函数中调用/获取远程API中的数据[防止无限重组]

Jetpack Compose:带芯片的Textfield

如何在使用带有底部导航组件的片段管理器时更改片段工具栏的标签

如何用帆布在喷气背包中画一个圆环?

如何判断堆肥是否为空?

Hilt+Worker NoSuchMethodException:<;init>;[class android.content.Context,class androidx.work.WorkerParameters]

在c中更新MVVMCross中TextView的Alpha#

Android v31 及更低版本中 ImageView 中的圆角

Android Drawable文件夹中的图像显示模糊

块不起作用,出现 "只有安全的 (?.)... " 错误

Jetpack Compose - 每次点击按钮都不起作用

我不能在 jetpack Compose 中使用 TextField()(material 3)

Android Compose:LazyColumn 和 Column with verticalScroll 的区别

如何在 Android 上移动 EditText 上的图标?

在 Kotlin 客户端应用程序中发送 FCM 推送通知 - Firebase 云消息传递

在 Room 中创建一对多关系时,@Relation 类是什么意思?

如何满足设备内框架的无效 Wear OS 屏幕截图Wear OS 表盘策略违规?