2013-06-20 4 views
3

Попытка добавления некоторых приложений в приложение, в которое я работаю, но все идет не так хорошо.Android InAppBilling onServiceConnected никогда не вызывал

У меня FragmentActivity так:

public class TestInAppBilling extends FragmentActivity{ 

//Application context reference 
private static Context context; 

/* 
Billing stuff 
*/ 
private IInAppBillingService mService; 
private ServiceConnection mServiceConn; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.test_layout); 

    context = getApplicationContext(); 

    if(mServiceConn == null){ 
     mServiceConn = new ServiceConnection() { 
      @Override 
      public void onServiceDisconnected(ComponentName name) { 
       mService = null; 
      } 

      @Override 
      public void onServiceConnected(ComponentName name, 
              IBinder service) { 
       mService = IInAppBillingService.Stub.asInterface(service); 
       System.out.println("Bound!"); 
      } 
     }; 

     context.bindService(new Intent("com.android.vending.billing.InAppBillingService.BIND"), mServiceConn, Context.BIND_AUTO_CREATE); 
    } 
} 

@Override 
public void onDestroy() { 
    super.onDestroy(); 
    if (mServiceConn != null) { 
     unbindService(mServiceConn); 
    } 
} 
} 

Но по какой-то причине onServiceConnected обратного вызова не происходит.

Кто-нибудь знает, что вызывает его?

ответ

0

Думаю, что вы решили. Во всяком случае, у меня была такая же проблема, и я только что ее исправил. Чтобы сделать его работу удалить эту строку:

context.bindService(new Intent("com.android.vending.billing.InAppBillingService.BIND"), mServiceConn, Context.BIND_AUTO_CREATE); 

И добавить:

setContentView(R.layout.test_layout); 
context = getApplicationContext(); 
Intent intent = new Intent("com.android.vending.billing.InAppBillingService.BIND"); 
intent.setPackage("com.android.vending"); 
getContext().bindService(intent, mServiceConn, getActivity().BIND_AUTO_CREATE); 
Смежные вопросы