2014-02-22 67 views
2

我想開發一個帶有premiumn訪問權限的android應用程序,爲用戶提供更多的可能性。高級訪問是可用的一個月。一個月後,我希望應用程序阻止訪問。 如何以編程方式管理它? 一些精確度:當用戶獲得高級訪問權限時,他可以在沒有互聯網的情況下使用應用程序。因此,我希望在應用程序中放置一種計數器,即使應用程序處於開啓,關閉或重新啓動狀態,計數器也會計數一天的次數。Android Premium訪問管理programaticcaly

如果可以使用j2me應用程序,我將會停下來。 謝謝

回答

1

如果你不想使用訂閱,告訴記者,在對方回答:
使用SharedPreferences。保存一個布爾值,以瞭解用戶是否是優質的。當更改bool時,還會保存當前time的字符串,因爲用戶啓用了溢價。每次初始化您的應用程序時,請檢查它是否已經time + 30天,並相應地繼續。

事情是這樣的:

//enabling premium: 
long time= System.currentTimeMillis(); 
String sTime = String.valueOf(time); 
SharedPreferences premiumpref = new SharedPreferences(); 
premiumpref = getActivity().getSharedPreferences("premiumpref", Context.MODE_PRIVATE); 
premiumpref.edit().putString("time",strTime).commit(); 


//next start: 
long time= System.currentTimeMillis(); 
SharedPreferences premiumpref = new SharedPreferences(); 
premiumpref = getActivity().getSharedPreferences("premiumpref", Context.MODE_PRIVATE); 
String startTime = premiumpref.getString("time","0"); 
Long lStartTime = Long.valueOf(startTime); 
if((time-lStartTime) >= (86400000*30)) //thats the number of ms in a day 
{ 
    //premium is over 
} 
+0

請我不明白,最後一句:「在每一個初始化檢查,如果它已經時間+ 30天。」我如何精確管理時間? – user3334222

+0

我喜歡你一個線程,只是點擊時間。 啓用保費時,您應該保存當前日期。當你啓動應用程序時,你會得到這個日期,並檢查該日期 - 今天的日期是<30天。 http://developer.android.com/reference/java/util/Calendar.html – tritop

+0

Ok !!!用戶是否可以通過更改設備上的參數或重新啓動來修改日期? (對不起,我的英語) – user3334222