Android studio 4.0 遇到的问题 BuildConfig.APPLICATION_ID和LocalBroadcastManager已被废弃的问题

因为这个错误发生在library中,一般的项目应该不会出现这个错误。先截取看看,这里是在moudle里面

这里报错信息,提示什么view的menuItem。这还没看懂,继续在控制台打印日志:

输入以上内容:

 

显示乱码的字显示出来了,提示了APPLICATION_ID 有几种可能,已经过时 啊,不安全操作啊但是因为引用的是第三方的,并不知道什么APPLICATION_ID是什么,就在这里折腾了很久,换了N种方法,都不得。

最后还是无意间看到了这个,贴上图片:

这里已经提示不能用了,然后换了一种获取包名 的方法,解决了!于是也百度了一下,也是这个问题,这个配置的方法已经没有了。

在 library 中找不到 BuildConfig.APPLICATION_ID 的解决方案

Context.getPackageName() vs BuildConfig.APPLICATION_ID

 

这里都可以解决!!!

在接下来用的时候,又发现问题,,本地广播已经报红,没有这个包名奇怪。

 

官网也解释了这个类已经被遗弃了:

贴上百度翻译:英语水平很差

This class is deprecated.
LocalBroadcastManager is an application-wide event bus and embraces layer violations in your app: any component may listen events from any other. You can replace usage of LocalBroadcastManager with other implementation of observable pattern, depending on your usecase suitable options may be LiveData or reactive streams.

Helper to register for and send broadcasts of Intents to local objects within your process. This has a number of advantages over sending global broadcasts with Context.sendBroadcast(Intent):

You know that the data you are broadcasting won't leave your app, so don't need to worry about leaking private data.
It is not possible for other applications to send these broadcasts to your app, so you don't need to worry about having security holes they can exploit.
It is more efficient than sending a global broadcast through the system.

此类已弃用。

LocalBroadcastManager是一个应用程序范围的事件总线,它包含应用程序中的层冲突:任何组件都可以从任何其他组件侦听事件。您可以将LocalBroadcastManager的使用替换为observable模式的其他实现,具体取决于您的用例,合适的选项可能是LiveData或reactive streams。



帮助程序注册意图广播并将其发送到进程中的本地对象。与使用Context.sendBroadcast上下文.sendBroadcast(意图):



你知道你正在广播的数据不会离开你的应用,所以不必担心泄露私人数据。

其他应用程序不可能将这些广播发送到您的应用程序,因此您不必担心它们可能会利用安全漏洞。

它比通过系统发送全球广播更有效。

我这里直接用的广播就解决了!!

 

LocalBroadcastManager

 

本以为LocalBroadcastManager 被废弃,但在这些无疑间看到这个类可以使用了,可能是当时sdk包不是最新的,

并且报红,说明还是可以用的,这里说明一下,还是不要误导了大家。。。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值