Android Market Licensing:在onCreate()或onResume()期间检查?

时间:2010-08-21 19:39:13

标签: android google-play

在随附的LVL示例应用程序中,将在onCreate期间触发许可证检查。这意味着当我点击“购买应用程序”启动市场时,然后立即点击后退按钮返回应用程序,对话框消失,不执行另一项检查,留给我一个完全可用的应用程序(至少直到活动被杀死,过程重新开始。)

在onResume()期间触发许可证检查是不好的形式,即使它会解决这个问题?有更好的解决方案吗?

3 个答案:

答案 0 :(得分:3)

经过进一步研究(以及一些经验)后,似乎使用onCreate()来检查许可证是正常的。如果你坚持使用对话方法,那么向市场功能添加finish()将确保有人不能从市场“回”到应用程序并正常使用它。他们必须重新启动应用程序,然后再次触发许可证检查。

答案 1 :(得分:3)

确保将对话框设置为cancelable(false),否则他们只能点击后退按钮而不响应对话框选项。

答案 2 :(得分:0)

Wirbly,

您是否在意图之前或之后放置了finish();

finish();
Intent marketIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(
                 "http://market.android.com/details?id=" + getPackageName()));
startActivity(marketIntent); 

,或者

Intent marketIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(
                 "http://market.android.com/details?id=" + getPackageName()));
startActivity(marketIntent);
finish();

感谢。