android - 版本高于 Android 4.4 的 sendBroadcast(intent, string)
问题描述
在阅读了android文档和许多论坛之后,这是我的理解。
sendBroadcast(intent, string)
适用于 Android 4.4 或更低版本。此外,它还用于在创建或更新文件时“刷新”设备存储。
scanFile(context, string)
可用于更高的 Android 版本(例如 Android 5.1),它用于在创建文件时“刷新”设备存储,但不适用于修改过的文件。
这是我的问题:由于sendBroadcast(intent, string)
不能用于Android 4.4以上的版本,有什么替代方法可以达到相同的效果?
(我scanFile(context,string)
当然尝试过使用,但文件内容被修改时不刷新。)
解决方案
使用LocalBroadcastManager .sendBroadcast() 因为它更有效,并且允许您避免考虑与其他应用程序能够接收或发送您的广播相关的任何安全问题。
与使用以下方式发送全局广播相比,这具有许多优点Context.sendBroadcast()
:
您知道您正在广播的数据不会离开您的应用程序,因此无需担心泄露私人数据。
其他应用程序不可能将这些广播发送到您的应用程序,因此您不必担心它们会利用安全漏洞。
它比通过系统发送全局广播更有效。
推荐阅读
- replace - 用记事本++替换动态字符串
- windows - Kubernetes windows hyper-v pod中没有网络
- postgresql - 使用 Postgres 多个模式有多安全?
- java - JAVA - 使用字符串创建 HashMap
- css - 逐字打断,如果没有空格就打断
- spring-boot - Master Slave configuration for Spring Boot Microservices
- sqlite - Is it possible to use RoomDatabase to convert a cursor into an object?
- javascript - Access github html file using JavaScript
- coldfusion - 如何将查询中的 DateTime 转换为字符串以便在 Google 可视化图表中使用它?
- firebase - How to filter users by email from my test database with firebase registered users?