2017-08-08 99 views
-1

在我的Android应用程序中存在安全漏洞,我的应用程序可能被恶意应用程序打开。我在启动器活动中使用以下意图过滤器。只允许Android操作系统打开启动器活动

<intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 

此意图过滤器使主要活动暴露给其他应用程序。有什么方法可以将主要活动仅公开给Android操作系统,而不是其他应用程序。据我所知我们不能使用“exported = false”。

+1

Android OS实际上并未启动该活动。启动器应用程序启动它。与其他应用程序一样,它是一款常规的第三方应用程序。 –

+2

启动器是一个应用程序。阻止其他应用程序调用它会导致您的应用程序无法使用 –

回答

1

有什么方法可以将主要活动仅暴露给Android操作系统,而不是其他应用程序。

不像您在定义术语。

每个活动,无论是否输出,都“暴露”到“Android操作系统”。否则,即使通过应用程序本身,它们也将无法使用。导出活动与非导出活动之间的区别在于第三方应用程序是否可以启动活动。

主屏幕本身只是一个应用程序。设备随附至少一个预安装的主屏幕,用户可以从Play商店或其他地方安装其他用户。因此,从您的应用程序的角度来看,主屏幕是第三方的活动。

在我的Android应用程序有我的应用程序可能会被恶意应用程序

具有出口活动打开一个安全漏洞是不是一个“安全漏洞”在自己的权利。您的论点类似于“我的网站中存在安全漏洞—如何让我的主页只能从Google搜索结果中打开,而不能通过书签或任何其他网站打开?”。

有不必要的导出从安全的角度来看,活动是不好的,但发射器的活动是必要的导出。

相关问题