我是android開發新手。我知道意圖和意圖過濾器可以用來在應用程序之間共享數據,但我不知道是否有可能設計一個android應用程序,它可以在後臺運行時從其他應用程序中提取某些特定信息。例如,如果用戶使用的是WhatsApp,它可能會知道掉話率,或者在YouTube,Facebook或Netflix的用戶終端上播放的視頻,它將獲得緩衝區播放時間,視頻比特率等。我將非常感謝這個問題的答案提供了一個例子。Android應用程序可以從其他應用程序獲取信息嗎?
回答
不,大多沒有。
但是,正如Tim Castelijns所寫的那樣,如果「目標」應用程序允許它,就像通過內容提供者那樣,它是可能的。
在植根設備上,經過長時間對目標應用程序進行逆向工程後,它也可以獲得一些信息。也只能從根源設備。
其他情況下,您可以編寫幾個應用程序和設計,以便他們可以一起通信,如通過意圖,內容提供商。
也有可能獲得正在運行的應用(用戶必須允許它)
*還有可能獲得正在運行的應用程序列表*使用哪些應用程序 –
@TimCastelijns在用戶上安裝和/或運行的應用程序列表。有了stackoverflow應用程序,你是一個über怪胎,有200個應用程序?也意味着什麼。有Tinder/grinder /無論什麼?它說你的sx方向。 –
這是一個相當淺的結論。無論如何,用戶的個人利益與這個問題無關。 –
在其他的答案表明,你大多僅限於哪些應用將明確地向您提供的列表;實際上,設計良好的應用程序通常會試圖防止「信息泄露」超出他們實際想要提供的範圍。
其他一些人提到內容提供者,但另一個構造要查看是廣播。如果應用程序在本地廣播了一個意圖(即使用本地廣播管理器),您將無法看到它,但如果他們正在使用「系統範圍」廣播或接收另一個「系統範圍」廣播,您可以接收同一個事件。
在Android中,每個應用程序都運行在自己的「sandbox」上,該應用程序應該與設備上運行的其他應用程序隔離。
爲了使應用程序與其他應用程序的Android框架物資交流,多種機制從其他應用程序發送/接收數據到/:Intents,IPC (AIDL),Content Providers等等
每個想要申請將其數據暴露給設備上的其他應用需要使用上述一種或多種機制來實現接口。
這意味着如果應用程序沒有實現公開其數據或內部工作的接口,則其他應用程序將無法訪問該信息。請注意,某些應用程序選擇將其數據保存在公共可用磁盤空間(即可拍攝照片的相機可能會將其保存在可供所有應用程序訪問的SD卡上)。在這種情況下,如果你知道要尋找什麼,你可以告訴某些應用程序。
此外,由於Android操作系統暴露出的一些全局設置,如狀態:Device's connectivity state,Battery state,當前打開的藍牙接口,running applications,last executed apps等..
這些配置可能會讓您對設備上正在發生的事情有個全面的瞭解。
- 1. iPhone應用程序可以銷售其他應用程序嗎?
- 2. Android應用程序可以查看其他應用程序數據文件嗎?
- 3. Android應用程序:應用程序可以將信息發送到外部應用程序嗎?
- 4. 移動Web應用程序可以獲取Android設備識別信息嗎?
- 5. 我可以在鎖定Android應用程序時獲取信息嗎
- 6. 其他Android應用程序
- 7. 是否可以使用其他配置信息安裝Android應用程序?
- 8. 獲取Facebook應用程序信息
- 9. 一個應用程序可以訪問其他應用程序的事件嗎?
- 10. 從其他應用程序(特別是iPhone的電話應用程序)獲取信息
- 11. 使用圖形API:可以使用api()獲取應用程序信息嗎?
- 12. 使用其他應用程序更新應用程序信息(插件)
- 13. Android:是否有可能獲得其他應用程序的通知信息?
- 14. 如何從其他Android應用程序
- 15. 如何從Osclass獲取信息到Android應用程序
- 16. 獲取iPad中的鎖定應用程序以訪問其他應用程序?
- 17. 應用程序請求和從第二個應用程序獲取信息
- 18. 如何向其他Android應用程序請求信息?
- 19. Android應用程序可以獲取用戶的時間表嗎?
- 20. 如何從其他應用程序打開ACTIVE應用程序時獲取fileURL
- 21. 如何從mac應用程序獲取其他應用程序的版本
- 22. Android - 從應用程序啓動其他應用程序時可以傳遞參數嗎?
- 23. 製作C++/MFC應用程序以從其他應用程序中提取AssemblyInfo?
- 24. Android,可以從撥號程序運行應用程序嗎?
- 25. 用戶可以從iPhone應用程序獲取資源嗎?
- 26. 將一個Android應用程序導入其他應用程序
- 27. Android應用程序修改其他應用程序的功能
- 28. iPhone應用程序可以用其他語言開發嗎?
- 29. 您可以使用NSPasteBoard粘貼到其他應用程序嗎?
- 30. 我可以使用Java操作其他應用程序嗎?
它可以,如果其他應用程序允許並明確公開此功能 –
您正在尋找的內容通常稱爲ContentProvider。並非所有的應用程序都公開一個,儘管 –
親愛的@TimCastelijns我不知道我是否可以爲YouTube,Netflix,Facebook和一些VoIP應用程序(如WhatsApp,Skype或Google Hangout)做到這一點 –