我想开发一个带有premiumn访问权限的android应用程序,为用户提供更多的可能性。高级访问是可用的一个月。一个月后,我希望应用程序阻止访问。 如何以编程方式管理它? 一些精确度:当用户获得高级访问权限时,他可以在没有互联网的情况下使用应用程序。因此,我希望在应用程序中放置一种计数器,即使应用程序处于开启,关闭或重新启动状态,计数器也会计数一天的次数。Android Premium访问管理programaticcaly
如果可以使用j2me应用程序,我将会停下来。 谢谢
我想开发一个带有premiumn访问权限的android应用程序,为用户提供更多的可能性。高级访问是可用的一个月。一个月后,我希望应用程序阻止访问。 如何以编程方式管理它? 一些精确度:当用户获得高级访问权限时,他可以在没有互联网的情况下使用应用程序。因此,我希望在应用程序中放置一种计数器,即使应用程序处于开启,关闭或重新启动状态,计数器也会计数一天的次数。Android Premium访问管理programaticcaly
如果可以使用j2me应用程序,我将会停下来。 谢谢
如果你不想使用订阅,告诉记者,在对方回答:
使用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
}
你可能想使用谷歌的应用内结算和销售他们的订阅:
https://developer.android.com/google/play/billing/billing_subscriptions.html
请我不明白,最后一句:“在每一个初始化检查,如果它已经时间+ 30天。”我如何精确管理时间? – user3334222
我喜欢你一个线程,只是点击时间。 启用保费时,您应该保存当前日期。当你启动应用程序时,你会得到这个日期,并检查该日期 - 今天的日期是<30天。 http://developer.android.com/reference/java/util/Calendar.html – tritop
Ok !!!用户是否可以通过更改设备上的参数或重新启动来修改日期? (对不起,我的英语) – user3334222