在我的Android应用中,存在一个安全漏洞,恶意应用可以打开我的应用。我在Launcher Activity中使用了以下intent过滤器。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
此意图过滤器使主活动向其他应用程序公开。有没有办法只将主要活动公开给Android操作系统,而不是其他应用程序。据我所知,我们无法使用&#34; exported = false&#34;。
答案 0 :(得分:1)
有没有办法只将主要活动公开给Android操作系统而不是其他应用程序。
与您定义条款不同。
每一项活动,无论是否出口,都是&#34;暴露的&#34;到了#OS; Android OS&#34;。否则,它们将无法使用,即使是应用程序本身。导出的活动与不活动的活动之间的区别在于第三方应用程序是否可以启动活动。
主屏幕本身只是一个应用程序。设备预装了至少一个主屏幕,用户可以从Play商店或其他地方安装其他设备。因此,从您的应用程序的角度来看,主屏幕是第三方活动。
在我的Android应用中,存在一个安全漏洞,恶意应用可以打开我的应用
导出活动不是一个安全漏洞&#34;在自己的权利。您的论点类似于说&#34;我的网站中存在安全漏洞 - 如何仅允许从Google搜索结果打开我的主页,而不是通过书签或任何其他网站打开?&# 34。
从安全的角度来看,不必要地导出活动是不好的,但是必要时会导出启动器活动。