以编程方式进行Android Premium访问管理

时间:2014-02-22 12:24:40

标签: android java-me

我想开发一款具有高级访问权限的Android应用程序,为用户提供更多可能性。高级访问可以使用一个月。一个月之后,我希望应用程序阻止访问。 如何以编程方式管理它? 一些精确度:当用户获得高级访问权限时,他可以在没有互联网的情况下使用该应用程序。所以我想在应用程序中添加一种计数器,即使应用程序处于开启,关闭或重新启动状态,也会计算一天的数量。 / p>

如果可以使用j2me应用程序,我将会介入。 谢谢

2 个答案:

答案 0 :(得分:1)

您可能希望使用Google的应用内结算并向其出售订阅:

https://developer.android.com/google/play/billing/billing_subscriptions.html

答案 1 :(得分:1)

如果您不想在其他答案中使用订阅:
使用SharedPreferences。保存bool以了解用户是否是高级用户。因为用户启用了溢价,所以在更改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
}