已弃用的方法“startActivityForResult()”与正确的蓝牙设置

2024-01-01

嘿,我尝试根据官方android开发网站上的信息制作蓝牙服务。但我遇到了不推荐使用的方法 startActivityForResult()。我应该怎么做才能正确打开蓝牙设备?

这是我的代码,其中包含已弃用的方法:

private void enableBt(View view){
        if(myBluetoothAdapter==null){
            //we don't have bt in this device
        }
        else if(!myBluetoothAdapter.isEnabled()){
            Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
            startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
        }

    }

它是一个特殊的 AndroidX 扩展,它封装了startActivityForResult并提供一种更简单的方法。

根据安卓开发者 https://developer.android.com/reference/androidx/fragment/app/Fragment#startActivityForResult(android.content.Intent,%20int),你需要延长活动结果契约 https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContract,其中您通过重写 2 个方法来实现活动结果调用的输入/输出:

  1. 基于输入创建意图的方法。
  2. 根据活动结果解析输出的方法。

在你的情况下,你没有输入,所以你可以使用Void输入的类型(但不知道你的输出)。

正确实现该合约类后,您只需从该类创建一个实例并将其传递给registerForActivityResult(…) (before您的活动已启动),它返回某种启动器。

您使用该启动器并调用launch代替startActivityForResult.

Enjoy :)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

已弃用的方法“startActivityForResult()”与正确的蓝牙设置 的相关文章

  • Toast 消息消失后​​完成活动吗?

    有谁知道 是否有可能对 Toast 消息执行某些操作 在我的情况下完成活动 将被关闭 您只需创建一个Thread持续时间只要Toast显示 然后您就可以完成您的Activity public void onCreate Bundle sav
  • 使用 JDBC 连接到 PostgreSql 的本地实例

    我在 Linux 机器上有一个正在运行的 PostgreSql 本地实例 当我使用psql来自 shell 的命令我成功登录 没有任何问题 我需要通过 JDBC 连接到 PostgreSql 但我不知道我到底应该传递什么url参数为Driv
  • Android:WebView/BaseInputConnection 中的退格键

    我在 Android 4 2 中遇到软键盘退格问题 我在 WebView CodeMirror 中有一个自定义编辑器 它使用一个空的
  • 无需递归即可对可观察结果进行分页 - RxJava

    我有一个非常标准的 API 分页问题 您可以通过一些简单的递归来处理 这是一个捏造的例子 public Observable
  • 按降序排序映射java8 [重复]

    这个问题在这里已经有答案了 private static
  • 如何使用 Jersey 将嵌套列表封送为 JSON?我得到一个空数组或一个包含数组的单元素字典数组

    我正在开发一个使用 Jersey 将对象转换为 JSON 的项目 我希望能够写出嵌套列表 如下所示 data one two three a b c 我想要转换的对象首先将数据表示为 gt gt 我认为 Jersey 会做正确的事情 以上输
  • Tomcat 6 未从 WEB-INF/lib 加载 jar

    我正在尝试找出我的 tomcat 环境中的配置问题 我们的生产服务器正在运行 tomcat 安装并从共享 NFS 挂载读取战争 然而 当我尝试使用独立的盒子 及其配置 进行同样的战争时 我收到下面发布的错误 有趣的是 如果我将 WEB IN
  • Android 中 Activity 之间的 3D 动画

    How to create animation between two Activity look like As Screen shot in android 搜索jazzyviewpager 这是link https github co
  • 如何知道我的应用程序的活动计数?

    我的应用程序中有多项活动 请考虑以下案例 Activity A 调用 Activity B B 调用 C 当用户按后退键时 C 生成通知并转到 B 现在再次按后退 因此将显示 A 再次按后退键也会终止 A 并显示通知 现在 当用户按下通知图
  • onPrepareOptionsMenu 复制 ActionBar 中的项目

    当我使用 onPrepareOptionsMenu 添加菜单项时 该菜单项会在操作栏中复制其自身 我正在使用片段并在主要活动的 ActionBar 中创建初始菜单 如下所示 Override public boolean onCreateO
  • Android AppWidgetManager 方法 updateAppWidget 无法设置意图、加载数据。而且它是随机发生的

    我的小部件由 2 个按钮和一个显示数据的列表视图组成 大多数时候 当调用小部件提供程序的 onUpdate 方法时 一切都会正常加载 每个人都很高兴 但是我注意到有时在调用更新方法后 小部件完全无法加载其数据 列表视图为空 所有按钮均无响应
  • 动态更改按钮上的图像视图

    在我的应用程序中 我有按钮和ImageView 当我按下按钮时我想改变ImageView 我的可绘制文件夹中有 5 张图像 按下按钮时 ImageView 根据按钮单击一张一张地更改图像 我想要它的解决方案 感谢任何可以提供帮助的人 维护一
  • 在数组列表中过滤 Filterable 不取消之前的过滤

    我看过过滤器方法文档 其中显示调用过滤器会取消所有先前未执行的过滤请求 并发布一个稍后将执行的新过滤请求 但我收到的实际回调有些不同 在我的实现中 它不会取消先前的过滤器请求并调用publishResults 最近一次搜索条件后的上一次搜索
  • 如何从DataSource.Factory获取数据

    我必须调用此方法才能获取所有人员 我根本无法修改这个方法 Query SELECT FROM PERSON TABLE ORDER BY NAME DESC abstract fun getElements DataSource Facto
  • 检测到 JVM 正在关闭

    我有一个使用 addShutdownHook 处理 Ctrl C 的 Swing 应用程序 它工作正常 直到我的关闭任务之一调用一个在正常情况下更改 JLabel 文本的函数 此时它挂起 我认为问题是 Swing EDT 已终止或正在等待某
  • 如何正确处理 ListView 内的 Android EditText 输入?

    在我的应用程序中 我有一个在 a 中添加 删除 编辑记录的活动SortedMap 该活动作为以下活动的延伸实施ListActivity 我已经实现了自定义ArrayAdapter对于收藏品 Every ListView项目 对应于基础记录
  • Spring 作为 JNDI 提供者?

    我想使用 Spring 作为 JNDI 提供程序 这意味着我想在 Spring 上下文中配置一个 bean 可以通过 JNDI 访问该 bean 这看起来像这样
  • 在会话即将到期之前调用方法

    我的网络应用程序有登录的用户 有一个超时 在会话过期之前 我想执行一个方法来清理一些锁 我已经实现了sessionListener但一旦我到达public void sessionDestroyed HttpSessionEvent eve
  • 设置 TreeSet 的大小

    有没有办法像数组一样对 Java 集合中的 TreeSet 进行大小限制 例如我们在数组中 anArray new int 10 数组具有固定长度 在创建数组时必须指定该长度 A TreeSet当您向其中添加元素时会自动增长 您无法设置其大
  • 如何用LoaderManager自动重新查询

    我有一个应用程序显示来自 SQLite DB 的数据 并且数据不断变化 所以显然 我认为我应该使用 LoaderManager 来显示数据 我读过一些关于将 LoaderManager 与 SQLite 结合使用的内容 然后看到了亚历克斯

随机推荐

  • 在 Ionic 应用程序中全屏横向播放视频

    我在播放视频横向全屏模式时遇到问题 请帮助我以横向全屏模式显示视频 我使用以下代码在 Ionic 中查看模板
  • 绘制 Matplotlib 等高线图的轴线或原点

    我想画画x 0 and y 0等高线图中的轴 使用白色 如果这太麻烦了 我想要一个白点来表示原点在哪里 我的等高线图如下所示 下面给出了创建它的代码 xvec linspace 5 5 100 X Y meshgrid xvec xvec
  • 如何使用 OCMock 验证某个方法从未被调用?

    在我的日常工作中 我被宠坏了莫基托的never 确认 http mockito googlecode com svn tags latest javadoc org mockito Mockito html never 这可以确认模拟方法从
  • NSArray:lastObject 返回一个自动释放的对象吗?

    我正在开发一个 iPhone 项目 我想从 NSMutableArray 中检索一个对象 从数组中删除该对象 然后在以后使用它 代码看起来像这样 NSMutableArray array fill the array NSObject ob
  • 使用 STL 在 C++ 中处理大于 2 GB 的文件

    我正在进行二进制文件处理 在我的算法中我想知道实际类型pos type and off type 例如计算文件大小或查找给定位置时 tellg and seekg 当计算文件的大小时我只是static cast the pos type t
  • 根据构建配置嵌入不同的框架

    我有 4 种构建配置 Debug Release 白标调试 白标发布 Debug and Release应该链接并嵌入我的自定义LightTheme framework而不是WhiteLabelTheme framework WhiteLa
  • 在批处理脚本中查询注册表项

    我使用以下代码来获取启动时运行的程序列表 并将它们记录到文件中 for f skip 2 tokens 1 2 A in REG QUERY HKCU SOFTWARE Wow6432Node Microsoft Windows Curre
  • 未记录的支持 Date.parse 格式?

    MDN s 的文档Date parse https developer mozilla org en JavaScript Reference Global Objects Date parse says 参数 dateString一个字符
  • 如何同时在2个不同的symfony2防火墙上进行身份验证?

    我有一个包含 2 个区域的 Symfony 应用程序 一个区域用于客户端从网页访问 另一个区域用于来自 AJAX 和 Web 服务的 API 调用 每个区域都由自己的防火墙保护 WEB 界面通过登录表单和 API 进行身份验证http ba
  • 如何在视图集中添加自定义权限

    创建模块时 如何在 django Rest Framework 的视图集中添加除默认权限之外的自定义权限 我有权限 fix an appointment 在下面的视图集中 如何包含此权限 拥有此权限的人只能进行创作 我的views py文件
  • 使用 Python 请求提取 href URL

    我想使用 python 中的 requests 包从 xpath 中提取 URL 我可以获取文本 但我尝试没有给出 URL 有人可以帮忙吗 ipdb gt webpage xpath xpath url text Text of the U
  • 在 tkinter 中显示网格布局单元

    有没有trick使用它时显示网格布局单元格 或单元格的边框 以便直观地了解幕后发生的情况 我已经搜索了一点 但还没有找到任何东西 如果您为包含框架指定颜色 并使用选项在单元格之间放置填充 则背景将通过间隙渗透 这只适用于有小部件的地方 如果
  • Ktor 中的表单身份验证

    我是新来的Kotlin and Ktor试图查看身份验证部分 所以我得到了以下代码 路由 和 bye 工作正常 但路由 login 给出空白页面 package blog import kotlinx html import kotlinx
  • Opencv 矩阵元素的列和

    我需要分别计算所有列中元素的总和 现在我正在使用 矩阵 cross corr 应该被求和 Mat cross corr summed for int i 0 i
  • /vagrant挂载后如何运行nginx.service

    我想做的事 我正在尝试使 nginx 加载配置 vagrant由vagrant自动安装 所以我编辑了 nginx service 使其在安装共享文件夹后启动 但它不起作用 当然nginx是在virtualbox guest utils se
  • 常量正确性可以提高性能吗?

    我已经多次读到 在 C 或 C 代码中强制 const 正确性不仅是可维护性方面的良好实践 而且还可以允许编译器执行优化 然而 我也读到了完全相反的内容 它根本不会影响性能 因此 您是否有示例表明 const 正确性可以帮助您的编译器提高程
  • 使用 Intent 的 android.content.ActivityNotFoundException

    我正在编写一个应用程序 在其中尝试发送包含一些数据的电子邮件 但是每当我单击 提交 按钮发送电子邮件时 getting 不幸的是应用程序已停止 Error android content ActivityNotFoundException
  • CRAN 软件包依赖于 Bioconductor 软件包安装错误

    我管理描述文件的依赖 建议和导入 最后我将我的包裹提交给CRAN 但是在安装包的过程中 它只安装存放在下面的包CRAN不是为了bioconductor包 此外 它在 Mac OS 上有一个包依赖错误 检查 Mac 操作系统的日志 http
  • 如何基于Gemfile.lock安装gems(不带Gemfile)

    通常 人们会使用bundle install安装宝石 但它需要 Gemfile 和 Gemfile lock 可选 我的情况有点不同 我只有 Gemfile lock 那么我怎样才能安装所有这些基于bundle命令 I tried bund
  • 已弃用的方法“startActivityForResult()”与正确的蓝牙设置

    嘿 我尝试根据官方android开发网站上的信息制作蓝牙服务 但我遇到了不推荐使用的方法 startActivityForResult 我应该怎么做才能正确打开蓝牙设备 这是我的代码 其中包含已弃用的方法 private void enab