这个MessageReceiver回调 肯定是来自一个广播,这个是来自阿里的某个服务(虽然我不知道是什么服务)发送的广播,那应该是来自另外一个app了,那应该android:exported="true" ,应用研发平台EMAS中为什么我从相关文档上看到推荐为false?我就没有弄明白这个的原因 public class MyMessageReceiver extends MessageReceiver 例如,这里我暂时是设置android:exported为true的,因为设置为true不推荐,我正式版本里是会改为false的,但是我没有弄明白这个地方为什么要设置成false.
在应用研发平台EMAS中,推荐将android:exported
属性设置为false
的原因是为了增加应用的安全性。
当一个广播接收器(BroadcastReceiver)的android:exported
属性被设置为true
时,它允许其他应用程序发送广播给该接收器。这意味着其他应用程序可以向该接收器发送广播,即使它们没有与您的应用程序有直接关联。这可能导致潜在的安全风险,因为恶意应用程序可能会尝试发送恶意广播来触发您的应用程序中的操作。
相反,如果将android:exported
属性设置为false
,则只有您的应用程序内部的组件才能发送广播给该接收器。这样可以防止未经授权的应用程序发送广播,从而提高了应用的安全性。
因此,在EMAS中推荐将android:exported
属性设置为false
,以确保只有您的应用程序内部的组件能够发送广播给该接收器。这样可以减少潜在的安全风险,并提高应用的安全性。
在应用研发平台EMAS中,推荐将MessageReceiver的android:exported属性设置为false,这是出于安全考虑。以下是详细解释:
综上所述,将MessageReceiver的android:exported属性设置为false是为了保护应用的安全性,避免意外触发,遵守最佳实践,并遵循官方文档的推荐。如果您的应用没有特殊需求需要其他应用触发这个receiver,那么应该遵循这一推荐设置。
https://help.aliyun.com/document_detail/434660.html?spm=a2c4g.434660.0.0.3d902733OR2Ovd
,没有让设置成true,为保证receiver安全,建议设置不可导出,如需对其他应用开放可通过android:permission进行限制,链接:https://help.aliyun.com/document_detail/2539603.html 此回答整理自钉群“【移动推送】技术支持3群-应用研发平台EMAS”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。