Android 应用内计费前景
我已经开始工作了,但我正在努力完善它一点。我注意到,当我在《愤怒的小鸟》中尝试应用程序内计费时,它会直接在应用程序顶部打开,但我的应用程序会将应用程序内计费拉到前台/桌面。我阅读了文档,其中指出singleTop必须关闭,反射也必须用于给定的活动上下文,而不是应用程序上下文。我已经证实,我已经完成了所有这些事情,但它仍然拉到前景。有什么想法吗 我的核实: 我有一个活动叫做MyActivityAndroid 应用内计费前景,android,eclipse,Android,Eclipse,我已经开始工作了,但我正在努力完善它一点。我注意到,当我在《愤怒的小鸟》中尝试应用程序内计费时,它会直接在应用程序顶部打开,但我的应用程序会将应用程序内计费拉到前台/桌面。我阅读了文档,其中指出singleTop必须关闭,反射也必须用于给定的活动上下文,而不是应用程序上下文。我已经证实,我已经完成了所有这些事情,但它仍然拉到前景。有什么想法吗 我的核实: 我有一个活动叫做MyActivity Log.d(“TEST”,mContext.getClass().getName()) 用MyActiv
Log.d(“TEST”,mContext.getClass().getName())代码>
用MyActivity回应
并在Android清单中显示MyActivity
android:launchMode=“standard”
编辑:
启动签出活动的代码
void startBuyPageActivity(PendingIntent pendingIntent, Intent intent) {
if (mStartIntentSender != null) {
// This is on Android 2.0 and beyond. The in-app buy page activity
// must be on the activity stack of the application.
try {
// This implements the method call:
// mActivity.startIntentSender(pendingIntent.getIntentSender(),
// intent, 0, 0, 0);
mStartIntentSenderArgs[0] = pendingIntent.getIntentSender();
mStartIntentSenderArgs[1] = intent;
mStartIntentSenderArgs[2] = Integer.valueOf(0);
mStartIntentSenderArgs[3] = Integer.valueOf(0);
mStartIntentSenderArgs[4] = Integer.valueOf(0);
mStartIntentSender.invoke(mActivity, mStartIntentSenderArgs);
Log.d("TAG", mActivity.getClass().getName());
} catch (Exception e) {
Log.e(TAG, "error starting activity", e);
}
} else {
// This is on Android version 1.6. The in-app buy page activity must be on its
// own separate activity stack instead of on the activity stack of
// the application.
try {
pendingIntent.send(mActivity, 0 /* code */, intent);
} catch (CanceledException e) {
Log.e(TAG, "error starting activity", e);
}
}
}
我试图完成的是应用内计费提示,无论它是否完成交易或取消,都要恢复到我的游戏,而不是简单地关闭和完成。我目前的一个解决办法是重新开始游戏活动,这将导致重新加载所有内容并将玩家放回主菜单页。我不确定是否理解您的问题。如果您的意思是要启动一个新的活动
,该活动正在从以前的活动
切换,那么请尝试使用android:style/Theme.Dialog
进行“应用内计费”活动
。我正在尝试让应用内计费活动在我的应用程序堆栈上运行,而不是在自己的堆栈上运行。我认为android:style/Theme.Dialog
不会有帮助。应用内计费的示例应用程序实现了这一点,但在任何地方都不包括这一点。我已经在我的应用程序中实现了这个示例应用程序,所以它应该是类似的,但是有些事情正在发生,除非您展示代码来演示如何尝试这样做,否则没有人可以帮助您。你的问题还不清楚,例如,我不会安装《愤怒的小鸟》只是为了弄明白你的意思“…在《愤怒的小鸟》中,它直接在应用程序顶部打开…我已经编辑了这个问题,我希望它能澄清我想要实现的目标。如果你单独构建了应用内计费示例应用程序,那么它将始终作为单独的应用程序打开。在我看来,“愤怒的小鸟”团队只是简单地提取了代码并将其整合到他们自己的应用程序中。这就是我所能想到的。