2017-08-08 58 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搜索結果中打開,而不能通過書籤或任何其他網站打開?」。

有不必要的導出從安全的角度來看,活動是不好的,但發射器的活動是必要的導出。

相關問題