3

我正在使用开发者帐户和测试项目 ( android.test.purchased) 在手机上测试应用程序。当我调用该isBillingSupported()方法时, my ResponseCodeis RESULT_DEVELOPER_ERROR。我没有在市场上发布该应用程序,但我读到它是不必要的,因为我使用android.test.purchased.

<uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.READ_OWNER_DATA"/>
    <uses-permission android:name="android.permission.WRITE_OWNER_DATA"/>        
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>  
    <uses-permission android:name="com.android.vending.BILLING"/>

我把它作为草稿上传到市场上,仍然没有运气......我失去了勇气......

4

2 回答 2

3

要回答您对@Samir 答案的评论中的问题:

“我的问题是我是否需要签署一个应用程序才能发布”

是的你是。

“我需要在市场上发布吗???”

不,你没有。

于 2012-03-10T11:24:46.483 回答
0

确保你的包名是正确的。

尽管您最终需要签署应用程序以进行发布(如何执行此操作),但您应该能够在isBillingSupported()不签署应用程序的情况下调用,并且RESULT_OK只要您具有 BILLING 权限并且您的包名称相同,它就可以返回适合您的应用程序。我使用了不同的硬编码包名称,并且isBillingSupported()正在返回RESULT_DEVELOPER_ERROR.

所以这是我调用的工作代码isBillingSupported()

String packageName = context.getPackageName();

try
{
    IInAppBillingService service = activity.getBillingService();
    int response = service.isBillingSupported(3, packageName, "inapp");
    Log.i("mylogtag", "response: " + response);
}
catch (RemoteException re)
{
    re.printStackTrace();
}
于 2013-01-08T17:37:55.420 回答