این قسمت از کد که در مستندات بازار توضیح داده شده رو ببینید:
class UpdateServiceConnection implements ServiceConnection {
public void onServiceConnected(ComponentName name, IBinder boundService) {
service = IUpdateCheckService.Stub
.asInterface((IBinder) boundService);
try {
long vCode = service.getVersionCode("your.app.packagename");
Toast.makeText(MainActivity.this, "Version Code:" + vCode,
Toast.LENGTH_LONG).show();
} catch (Exception e) {
e.printStackTrace();
}
Log.e(TAG, "onServiceConnected(): Connected");
}
public void onServiceDisconnected(ComponentName name) {
service = null;
Log.e(TAG, "onServiceDisconnected(): Disconnected");
}
}
این یک کلاس داخلی هست، متد onServiceConnected یک Callback هست که زمانی که اتصال به سرویس بازار برقرار شد، نتیجه رو بهتون بر میگردونه، اینجا قسمتی هست که باید تصمیم بگیرید در صورت وجود آپدیت چه کاری کنید.
اون خط از کد که Toast هست رو ببینید، اونجا یک مثال هست که بدونید در اون قسمت داده ای رو از بازار دریافت کردید، شما باید در این قسمت چک کنید که آیا مقداری که برگردونده شده بزرگتر از صفر هست (و در صورت نیاز با versionCode برنامه تون مقایسه ش کنید) و در نهایت اگر شرط برقرار بود، به کاربر اطلاع بدید که برنامه رو آپدیت کنه.
در واقع اگر کدها رو مثل نمونه کد بازار تنظیم کرده باشید (یعنی initService رو در onCreate صدا زده باشد)، کافیه که بجای نمایش یک Toast در کد بالا، عملیات دلخواه خودتون رو انجام بدید.