2011-02-06 102 views
0

似乎普遍接受的方法來實施付費「高級鑰匙」應用程序是有免費的應用程序檢查,如果付費的安裝解鎖功能。 這部分是直接進行LVL的實施,但我不知道如何將兩者結合起來。 如果付費應用程序從未打算運行,則無法調用許可證驗證服務。 我能想到的唯一方法就是讓免費應用從付費應用中調用意圖並等待響應。付費應用程序可以執行許可證驗證。這種方法的問題在於,當免費應用程序調用意圖時,它會暫停並隨時被操作系統殺死。所以沒有什麼可以保證應用程序在許可證檢查後仍在運行。我如何在我的高級鑰匙應用程序中使用Android LVL?

關於如何實現付費應用程序的任何想法或建議,只能是解鎖密鑰,但也實現LVL?

謝謝實現免費的

回答

0

的一種方式和增強版將在兩家獨立的APK分裂的功能。免費版本將被打包爲許多正常活動,增強版本的功能將通過單獨的apk中的遠程服務來實現。

兩者通過使用AIDL的遠程接口進行通信。在啓動時,免費應用會嘗試綁定到服務,如果不能,則會超時。如果一個連接被做成免費應用程序中的靜態屬性設置爲true。免費應用程序在調用提供增強功能的任何例程之前測試此屬性。

我已經做了這件事,但沒有在市場上發佈它,並且不知道LVS的任何內容,但是看不到爲什麼服務apk不能執行此功能並實現諸如'licenceVerified ()',可以通過AIDL將結果返回給免費的應用程序。在我的項目中,服務實際上做了很多其他計算,它將信息返回給免費部分,所以即使免費部分被黑客攻擊,除非服務apk實際存在,否則免費應用會崩潰,如果一個不存在的方法遠程接口被調用。

+0

我喜歡這種方法,我不得不嘗試一下。謝謝 – 2011-02-11 06:56:08

1

正如NickT所建議的那樣,我沒有發現問題以及通過服務來完成。

我看到的其他選項可能是通過濫用內容提供者來做到這一點。內容提供者上的查詢可能在許可證被驗證時阻塞,因此你需要異步查詢它,例如在主要活動中顯示某種繁忙的微調。

這兩種方法似乎比通過意圖產生另一種活動更容易(這是最初的方法,對嗎?)。

+1

注意:應用內結算將很快爲Android提供(第一季度末)。這也可能是一個選擇。 – sstn 2011-02-06 10:17:33

相關問題