Android 5.0设备上的mservice NPE

时间:2014-12-16 00:33:15

标签: android nullpointerexception in-app-billing

我遇到的问题类似于此处发现的问题:Google In-App billing, IllegalArgumentException: Service Intent must be explicit, after upgrading to Android L Dev Preview。我已经在建议的答案中尝试了解决方案:https://stackoverflow.com/a/26318757/1489990但是我在使用android 5.0.1的nexus 9上遇到了一个问题(我假设这也适用于所有使用android 5.0的设备)。

问题在于使用此代码:

connection = new ServiceConnection() {


        @Override
        public void onServiceDisconnected(ComponentName name) {
            mservice = null;
            Log.d("PRICE","mservice disconnected");

        }

        @Override
        public void onServiceConnected(ComponentName name, IBinder service) {
            mservice = IInAppBillingService.Stub.asInterface(service);
            Log.d("PRICE","mservice connected");
            if(mservice==null){
                Log.d("PRICE","mservice is null");
            }
        }

    };

在我的日志中没有安卓5.0的设备上我看到“mservice connected”。但是在我的nexus 9上,我没有得到任何日志消息,这使我相信mservice为null,并且当我尝试使用此行购买时生成NPE的原因:

Bundle buyIntentBundle = mservice.getBuyIntent(3, getPackageName(),
                            "images", "inapp", "key");

有关如何解决此问题的任何建议?

0 个答案:

没有答案