【问题标题】:in app purchase Nokia X Market application在应用程序内购买诺基亚 X 市场应用程序
【发布时间】:2014-04-03 07:35:12
【问题描述】:

我为诺基亚 X、诺基亚 X+ 和诺基亚 XL 制作安卓游戏。我想在我的应用程序中添加应用程序购买。我尝试了很多方法,但它对我不起作用。请看下面的代码。我从 onCreate 方法调用此代码。

    //Verify In-App Payment enabler SHA1 fingerprint. 
    Intent paymentEnabler = new Intent("com.nokia.payment.iapenabler.InAppBillingService.BIND");
    paymentEnabler.setPackage("com.nokia.payment.iapenabler"); 
    bindService(paymentEnabler, mServiceConnection, Context.BIND_AUTO_CREATE);

mServiceConnection 的代码如下:

ServiceConnection mServiceConnection = new ServiceConnection() {

@Override
public void onServiceDisconnected(ComponentName name) {
    Toast.makeText(getApplicationContext(), "disconnect", Toast.LENGTH_LONG).show();
    mService = null;
}

@Override
public void onServiceConnected(ComponentName name, IBinder service) {
    mService = INokiaIAPService.Stub.asInterface(service);
    if (isBillingSupported()) {
        Bundle productMappings = new Bundle(); 
        productMappings.putString("1023608", "com.testapp.sword");
        productMappings.putString("1023609", "com.testapp.mighty_sword");
        productMappings.putString("1023610", "com.testapp.axe");
        Toast.makeText(getApplicationContext(), "support billing", Toast.LENGTH_LONG).show();

        try {
            mService.setProductMappings(3, getPackageName(), productMappings);
            Toast.makeText(getApplicationContext(), "support billing work", Toast.LENGTH_LONG).show();
        } catch (RemoteException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }else {
        Toast.makeText(getApplicationContext(), "support not billing", Toast.LENGTH_LONG).show();
    }
}

}; 这段代码对我不起作用。没有显示 Toast。所以这意味着服务连接没有连接。我在清单中给予计费许可。请帮助我为什么我没有得到正确的结果。

【问题讨论】:

    标签: android in-app-purchase in-app-billing nokia nokiax


    【解决方案1】:

    您确定是在诺基亚 X 模拟器还是在真实设备中运行该代码?如果支付启动器存在,它应该绑定到服务。如果您在模拟器中运行,请确保您的 AVD 目标是诺基亚 X 系统映像(您可以看到诺基亚风格的 UI)。

    兄弟, 珍妮

    【讨论】:

    • 感谢它的工作。 (AVD目标是诺基亚X系统镜像(你可以看到诺基亚风格的UI)。)这个东西帮帮我。
    • 捆绑 buyIntentBundle = mService.getBuyIntent(3, getPackageName(), product, ITEM_TYPE_INAPP, "MyPayLoad");它给出响应代码 5。这意味着提供给 API 的参数无效。请帮我。是争论中的任何问题。我认为“MyPayLoad”有问题。
    • MyPayLoad 不是问题。你能检查那里 product 的价值吗?如果您使用的是问题中可见的产品映射,则它应该是“com.testapp.sword”或“com.testapp.mighty_sword”或“com.testapp.axe”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 2011-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多