Android 台灣中文網

標題: 他怎麼知道我裝過?怎麼知道我還沒執行過? [打印本頁]

作者: manabu1    時間: 2012-9-24 01:28
標題: 他怎麼知道我裝過?怎麼知道我還沒執行過?
有些程式(簡稱程式A)裡面會有推廣其他程式的功能,好比說請你去裝某程式B,然後他就給你積分,積分累積到某個程度就讓你變成贊助版這樣

如果我把B移掉再重裝,A也不會再重複給你積分。或者我只是裝了B而沒打開執行過,A也一樣不會給我積分


我很想知道,A軟體要怎麼知道你曾經裝過,這次是裝第二次了?
A軟體要怎麼知道B軟體只是安裝而還沒有執行過?

Android系統應該是沒有註冊表的,但是以上現象又明顯感覺到軟體安裝過後,縱使你移除掉,清除Cache,系統裡仍有甚麼地方紀錄了"你曾經安裝過這套軟體"。

軟體第一次執行後仍會將資訊寫進某個地方"我已經被執行過了"。

好比裝Dr.Web,如果你只是裝好就重開機,他不會在開機時AutoRun,你得要先打開過一次,下次重開機他才會自動執行。

Android有註冊表嗎?
作者: william0929    時間: 2012-9-24 12:41
只要是透過PLAY商店安裝的軟體,下載安裝資料都會記錄在你申請的帳號內,
所有記錄都在雲端伺服器,不是在你的手機,只要手機上網就會自動比對同步。

每當你安裝PLAY商店軟體時,GOOGLE會將你下載的記錄通知該軟體開發商,
該軟體開發商就能從資料庫分析,知道你安裝過他家發行的哪些軟體,
甚至你執行軟體時也會連線到該軟體開發商,
這樣軟體開發商就能得知你下載過哪些,執行過哪些。

作者: manabu1    時間: 2012-9-24 14:09
william0929 發表於 2012-9-24 12:41
只要是透過PLAY商店安裝的軟體,下載安裝資料都會記錄在你申請的帳號內,
所有記錄都在雲端伺服器,不是在 ...

感謝回覆~

我的狀況是,我灌了一套遊戲,按照他的推廣下載了其他的遊戲,安裝,執行
但他該給我的點數沒有給我,我移除掉後,在推廣的列表裡我裝過的那套軟體已經沒了
表示他知道我裝過

這才衍生了我的疑問

但是我某次因緣際會將手機回復原廠設定值後,這套軟體又出現在推廣列表裡了

這意味著他應該是根據我手機內容來判斷,而不是雲端
作者: ploglin    時間: 2012-9-24 17:34
判斷的方法有很多種。
如果是記錄在本地的,可以用任何一種的 Storage ,請參考 http://developer.android.com/guide/topics/data/data-storage.html

作者: manabu1    時間: 2012-9-28 01:49
本帖最後由 manabu1 於 2012-9-28 01:52 編輯
ploglin 發表於 2012-9-24 17:34
判斷的方法有很多種。
如果是記錄在本地的,可以用任何一種的 Storage ,請參考 http://developer.android. ...


感謝分享,好久沒看程式碼了XD
看來至少有四種Method可以用,但就不知道哪套軟體可以乾淨的移除程式,包含透過這四種方法寫進機器裡的值

如果是透過這四種Method,那除非反解譯,否則也無法知道寫值的路徑,是嗎?
作者: ploglin    時間: 2012-9-28 07:39
在應用程式管理裡面清除資料,就可以把這4種都清除。
但如果寫在SDCard裡面,就比較麻煩了。




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1