我正在開發一款應用程序購買軟件。 我創建了一個商店activity
,該商店的唯一目的是購買1個元素,允許您刪除廣告。 當我執行檢查用戶是否已購買MainActivity
中的項目的過程時,會出現問題。 這是我如何處理連接:Android:如何檢查與商店的連接是否已準備就緒
IInAppBillingService mService;
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);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar myToolbar = (Toolbar) findViewById(R.id.calculator_toobar);
setSupportActionBar(myToolbar);
//Opening a connection with the store
Intent serviceIntent = new Intent("com.android.vending.billing.InAppBillingService.BIND");
serviceIntent.setPackage("com.android.vending");
bindService(serviceIntent, mServiceConn, Context.BIND_AUTO_CREATE);
//Some more code...
CheckPurchase();
}
更具體地說我的問題,每當我試圖打電話CheckPurchase
出現,我創建檢查用戶是否確實買了項目的方法。 在商店活動中,此方法完美地工作,因此我確信這不是該方法的問題(在按下按鈕時調用CheckPurchase
方法的商店中)。
我認爲這個問題是由不好的時機造成的。 我之所以這樣認爲的原因是因爲:當我在MainActivity
中創建一個按鈕,該按鈕的唯一目的是調用該方法(並且我從onCreate
方法中刪除CheckPurchase
),則方法CheckPurchase
有效,並且我收到了正確的響應。 我認爲問題與建立連接所用的時間有關,並且onCreathe
方法太快。
我的問題比變爲:
有沒有辦法等到連接完全建立?
是否有某種命令可用來檢查連接是否準備就緒並設置?
或者我應該簡單地使用something like that?
在此先感謝您的幫助。