У меня есть покупка в приложении для премиум-функций, которые в настоящее время при покупке вы будете редактировать общее предпочтение, которое дает вам премиальные функции. Мне бы хотелось, чтобы каждый раз, когда вы открывали приложение, он обнаруживал бы из игры Google, если пользователь приобрел премию, чтобы, если пользователь переключает устройства, им не придется покупать премию. Я полагаю, что для этого я должен был бы использовать «Запрос для купленных изделий» часть учебника Google здесь: http://developer.android.com/google/play/billing/billing_integrate.htmlПросить Google Play, если покупка в приложении была приобретена пользователем
ServiceConnection mServiceConn = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
mService = null;
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
mService = IInAppBillingService.Stub.asInterface(service);
}
};
Intent serviceIntent = new Intent(
"com.android.vending.billing.InAppBillingService.BIND");
serviceIntent.setPackage("com.android.vending");
bindService(serviceIntent, mServiceConn, Context.BIND_AUTO_CREATE);
try {
Bundle ownedItems = mService.getPurchases(3, getPackageName(), "inapp", null);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Код компилируется без ошибок, и если я удалить строку, чтобы получить расслоении Подержанный что приложение не будет аварийно завершено. Однако, если я попытаюсь получить информацию, которую приложение выйдет из строя. У меня есть код, показанный выше в методе onCreate(), и у меня есть mService и mServiceConn, введенные в верхней части java-файла. Благодарю.
Спасибо, что у меня возникла проблема с неправильной асинхронной работой. – user3478306
Если это помогло, убедитесь, что вы приняли ответ, чтобы удалить его из оставшейся без очереди очереди. – ianhanniballake