putExtra() 和 setData() 之间的区别

2024-06-02

putExtra() 和 setData() 有什么区别?我已经阅读了 android 文档,但没有太大帮助。 还有之前的一个问题Intent.setData 与 Intent.putExtra https://stackoverflow.com/questions/18794504/intent-setdata-vs-intent-putextra但目前还不清楚。 提前致谢。


设置数据()

设置此意图正在操作的数据。此方法会自动清除先前由 setType(String) 或 setTypeAndNormalize(String) 设置的任何类型。

Note:与正式的 RFC 不同,Android 框架中的方案匹配是区分大小写的。因此,您应该始终使用小写方案编写 Uri,或者使用 normalizeScheme() 或 setDataAndNormalize(Uri) 以确保方案转换为小写。

参数

data:此意图现在针对的数据的 Uri。

Intent 用于向 Android 系统发出信号,表明某个事件已发生。意图通常描述应执行的操作并提供应执行此类操作的数据。例如,您的应用程序可以通过浏览器组件针对某个 URL 的意图启动。下面的例子证明了这一点。

    String url = "http://www.google.com";
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(url));
    startActivity(i); 

但是Android系统如何识别可以对某种意图做出反应的组件呢?

为此,使用了意图过滤器的概念。意图过滤器指定活动、服务或广播接收器可以响应的意图类型。因此它声明了组件的功能。

Android 组件在 AndroidManifest.xml 中静态注册意图过滤器,或者在广播接收器的情况下也通过代码动态注册意图过滤器。意图过滤器由其类别、操作和数据过滤器定义。它还可以包含其他元数据。

如果将 Intent 发送到 Android 系统,Android 平台将使用 Intent 对象中包含的数据运行接收者确定。在此,它确定为意图数据注册的组件。如果多个组件已注册相同的意图过滤器,则用户可以决定应启动哪个组件。

putExtra()

将扩展数据添加到意图中。

参数:

name:额外数据的名称。

value:字符串数组数据值。

返回相同的 Intent 对象,用于将多个调用链接到单个语句中。

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

putExtra() 和 setData() 之间的区别 的相关文章

  • 在 Android 中录制、保存和播放视频

    我正在尝试制作一个使用相机应用程序录制视频的应用程序 然后将该视频保存在 SD 卡上 以便我可以播放它 我有一些代码 但我不知道如何继续 因为我是 Android 初学者 我的活动 public class Camcorder extend
  • 如何使网页视图与其内容一样大?

    我在网上找不到这个 我有很多网络浏览量HorizontalScrollView 我希望它们全部适合其内容 然后可能具有不同的宽度 更多 我给那些充气webviews像这样 LinearLayout layout LinearLayout g
  • 具有自定义视图和自定义属性的 Android 2 路数据绑定

    我一直在基本应用程序中使用 2 路数据绑定 一切进展顺利 直到我开始使用自定义视图和属性 我想创建一个自定义视图 其中有一个 TextView 和一个 EditText 并在另一个布局中使用它
  • 使用 shouldInterceptRequest 阻止数据加载

    虽然这个问题已经被问过好几次了 但与我的问题真正相关的唯一问题是这个 我可以使用 shouldInterceptRequest 来阻止 Android 中的特定调用吗 https stackoverflow com questions 16
  • ALBUM_ART列从API 29等开始被弃用,如何获取路径?

    我们目前正在使用以下方式获取专辑封面的路径 MediaStore Audio AlbumColumns ALBUM ART 并且正在成功获取路径 但 Pixel 3a Android 10 除外 经过一番研究 API 29 及以上版本已弃用
  • 覆盖服务 - 按下返回按钮

    我怎样才能做到这一点 目前的解决方案 我启动了一个透明的活动 捕获后按 将其转发到我的服务 然后自行关闭 但此活动将在当前正在运行的活动中可见 因此这不是一个非常漂亮的解决方案 看到的解决方案 我见过一个应用程序确实可以捕获服务中的后按 而
  • 透明模糊视图模糊了下面的布局

    我有一个已设为透明的 Linearlayout 现在我正在寻找一种方法来赋予它模糊效果 因此它下面的内容会变得模糊 就像 Windows 7 Aero 外观一样 参见屏幕截图 我知道你可以做这样的模糊效果 getWindow addFlag
  • 尝试在空对象引用上调用接口方法“...”

    我正在开发一个具有蓝牙功能的应用程序 我使用片段来扫描并列出蓝牙设备 单击时 会回调提供所选蓝牙设备的主要活动 我从使用 Android 6 API 23 的智能手机开始 然后必须调整代码以用于 Android 5 0 API 21 我刚刚
  • Android 如何知道手电筒是否打开

    我正在使用 CameraManager 和 CameraCharacteristics 我想知道如何检查手电筒是否打开 试试这段代码 public boolean FlashStatus Camera Parameters paramete
  • Android MediaPlayer 问题:“错误 (-38 , 0) ”和“在状态 1 下停止调用”

    我的设备甚至模拟器都没有声音 其实在一线 mediaPlayer create this musicIds 0 eclipse 建议我两个选择 使用 MediaPlayer 声明类型 更改对静态的访问 或 在 Create 上添加 Supp
  • 即使在 Scaffold 中定义了 BottomModalSheet 小部件,Flutter 中也未找到 Scaffold 错误

    我试图为测试应用程序实现 BottomModalSheet 但每次都会弹出同样的错误 说找不到脚手架 该应用程序的代码如下 该错误表明 Scaffold 是由 MaterialApp Widget 实现的 因此我删除了 MaterialAp
  • 如何在 Rails for Android 中使用 gzip 压缩 JSON?

    我正在运行 Rails 3 2 7 和 Ruby 1 9 3p194 以从 SQLite 数据库输出 JSON 数据 render json gt result to json Android 应用程序使用通过以下方式加载的 JSON 文件
  • 菜单项标题未显示

    菜单项的标题未显示在片段内 我在菜单文件中有两个项目 第一个是带有图标和标签的showAsAction always在工具栏中显示图标 第二个只有标题 我不知道这里出了什么问题 菜单项的所有操作均有效 例如下面 菜单 销售 xml menu
  • 让 DrawerLayout 在 ActionBar 上滑动

    我在活动中有一个滑动抽屉菜单 其中有一个带有一些选项卡的操作栏 我想让滑动抽屉滑过标签 而不是滑过标签下方 这就是现在的样子 关于如何做到这一点有什么想法吗 注意 我知道我可能会在这里打破一些约定和 UI 模式 如果它根本不起作用 我会考虑
  • 如何在 Android 键盘中包含建议

    我正在开发 Android 软键盘 我已经创建了键盘布局 但不知道如何包含在 EditText 中键入一些单词时出现的建议 例如 如果我写 在 中 已知 和 已知 将显示在建议中 所以我的问题是 1 如何在 Android 软键盘中包含建议
  • 当我关闭应用程序时,AsyncTask 是否会停止?

    我想将文件从手机上传到服务器 因为我正在使用 AsyncTask 如果文件很大 如果它们仍在上传并且用户关闭应用程序 上传会停止 即 AsyncTask 将结束还是继续直到完成 推荐使用Service http developer andr
  • 设置android中按钮的透明度

    我想在android中制作具有不同透明度级别的按钮 我使用过 android color transparent 但它使按钮 100 透明 我需要一个 70 透明的按钮 这是我正在处理的 XML 代码
  • Android:Html 锚链接仅在 Web 视图中有效一次

    在使用锚链接加载 html 内容时 我在 webview 中遇到一些奇怪的问题 以下代码非常适合锚标记 但是只有一次 第二次当我按下锚标签时不工作 protected void onCreate Bundle savedInstanceSt
  • 如何从 Activity 的包含类启动 Intent

    我正在寻找从不是 Activity 而是 Activity 类的包含对象的类启动意图的最佳方法 例如活动类 Class MainActivity extends ListActivty TestLauncher tester 以及我想从中开
  • 解决SecurityException:权限拒绝:启动意图。我需要什么许可?

    我想从应用程序打开游戏商店 在三星手机上还好 但在一加手机上却失败了 我不知道在哪里alibaba来自 真奇怪 异常 java lang SecurityException 权限拒绝 启动意图 act android intent acti

随机推荐

  • 绕过 URL 的 Spring Security 过滤器

    我修改了我的applicationContext security preauth xml目的是从特定 URL 中删除过滤器 我在使用 spring security oauth 过滤器时遇到问题 因此我想暂时避免使用此过滤器来处理特定请求
  • 检测 jqGrid 单元格中的复选框事件

    我正在探索jqGrid在我学习 Javascript 和 jQuery 的过程中 我成功地把checkbox在网格单元中 太棒了 这是我所拥有的 myTable jqGrid colModel name cb index cb width
  • 无法在地图循环中访问 Axios 调用的值

    我有一个 javascript 对象 其 ID 对应于一组画廊 我使用地图循环遍历它 在每个循环中 我都会进行 axios 调用来获取当前 id 的图库 最后 我需要一个包含所有画廊内容的数组 问题是地图循环完成后我无法访问数据 当我 co
  • 检查工作表是否存在,如果不存在则创建-VBA [重复]

    这个问题在这里已经有答案了 我已经测试了许多代码 这些代码检查工作表是否存在 基于名称 如果不存在则创建一个 其中一些循环所有工作表 一些引用工作表 如果创建错误则意味着该工作表不存在 哪一种是最合适的 正统的 更快的方式来完成这个任务 目
  • onLoadEnd 未在本机反应中触发

    我正在尝试在 React Native 上显示来自 giphy api 的 GIF Gif 需要一些时间才能在屏幕上显示 因此我想在中间显示一个微调器 onLoadEnd 事件似乎永远不会在 Image 标签上触发 因此微调器实际上会无休止
  • 如何将spring服务自动装配到jsp中?

    正如标题中提到的 我需要在我的 page jsp 中自动装配服务 我知道不建议这样做
  • 通过 python setup.py 创建 .deb 包

    我想创造 deb我的 python 程序的包 我创造setup py它工作得很好 但是当我想使用创建一个 debian 包时setup py and stdeb我收到一个错误 我用来创建 deb 的命令 first python3 4 se
  • make:无需为“all”执行任何操作

    我正在通过一个eg pgm 来创建一个make 文件 http mrbook org tutorials make http mrbook org tutorials make 我的文件夹eg make creation包含以下文件 des
  • 使用 Git 撤消临时更改

    假设我在 master 上并且有一个斑点 DEBUG FALSE CACHE SIZE 100 code code code 现在我开始在新分支中调试 DEBUG TRUE Don t forget to turn off CACHE SI
  • 内存分配不当?

    在测试我的代码时 我不断收到有关使用 delete 的错误 因为我的类的测试台表明在使用 new 分配的数组上调用了 delete 我在 IntVector 和两个扩展函数中进行了删除 扩展函数在为动态分配的数组重新分配内存时扩展了容量 如
  • Twowayview 滚动时自动添加内边距

    我在用双向视图 https github com lucasr twoway view在我的一个项目中 这是android的扩展回收者视图 https developer android com reference android supp
  • 关于名称隐藏和虚函数的混淆

    参考另一个所以问题 https stackoverflow com questions 1628768 why does an overridden function in the derived class hide other over
  • MySQL 中的 UDF 性能

    我注意到 当查询在 SELECT 或 WHERE 子句中调用 UDF 时 MySQL 查询执行时间的性能会呈指数级下降 有问题的 UDF 查询本地表以返回标量值 因此它们不仅执行算术表达式 而且充当相关子查询 我通过简单地删除 UDF 并使
  • html 链接不起作用 href javascript 参数太长

    a href alt a 在 href 中我调用了一个 javascript 函数 change 第二个参数 n1387519869249 1196 n1387519906965 1368 n 是一个非常长的值 大约 5070 个字符 但在
  • ValueError:超出整数字符串转换的限制(4300)

    gt gt gt import sys gt gt gt sys set int max str digits 4300 Illustrative this is the default gt gt gt int 2 5432 Traceb
  • 传递给 Illuminate\Routing\Middleware\ThrottleRequests::addHeaders() 的参数 1 必须是以下实例

    我创建了一个新的中间件来检查用户令牌我创建了中间件然后添加到 kernal php 但是当我尝试访问中间件中的 request 时我收到错误 这是我的中间件代码 namespace App Http Middleware use Illum
  • 在 javascript 原型事件处理程序中保留“this”引用[重复]

    这个问题在这里已经有答案了 正确的保存方法是什么this存储在对象原型内的事件处理程序中的 javascript 引用 我不想创建像 this 或 that 这样的临时变量 而且我不能使用像 jQuery 这样的框架 我看到很多人谈论使用
  • char和int相加的结果[重复]

    这个问题在这里已经有答案了 考虑以下代码 System out println G 2 输出是 73 我能知道为什么以及如何做吗 在java中 一个char占用16位UTF 16编码 G s unicode https www rapidt
  • zone.js:140未捕获类型错误:无法读取属性“删除”

    我是 kendo ui 的新手 我在小提琴中开发了原型 删除确认窗口在那里工作正常 但是当我集成到我的代码库中时 我收到错误 Cannot read property remove at the line pai to delete rem
  • putExtra() 和 setData() 之间的区别

    putExtra 和 setData 有什么区别 我已经阅读了 android 文档 但没有太大帮助 还有之前的一个问题Intent setData 与 Intent putExtra https stackoverflow com que