0

在包含的 LVL 示例应用程序中,许可证检查在 onCreate 期间触发。这意味着当我点击“购买应用程序”启动市场,然后立即点击返回按钮返回应用程序时,对话框消失并且没有执行另一次检查,留下一个完美可用的应用程序(至少直到该活动被终止,该过程重新开始)。

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

4

3 回答 3

3

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

于 2010-09-29T16:04:49.573 回答
3

确保将对话框设置为可取消(false),否则他们可以直接点击后退按钮而不响应对话框选择。

于 2010-11-15T18:24:57.430 回答
0

蜿蜒曲折,

您是否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();

谢谢。

于 2011-08-13T18:28:01.190 回答