intel_amd
سه شنبه 29 اردیبهشت 1394, 10:33 صبح
سلام دوستان , کلاس زیر کلاسی است که کافه بازار برای بررسی ورژن نرم افزار قرار داده و می خوام از کلاسی دیگر این را اجرا کنم و نتیجه را استفاده کنم
public class MainActivity extends Activity {
IUpdateCheckService service;
UpdateServiceConnection connection;
private static final String TAG = "UpdateCheck";
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");
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initService();
...
}
private void initService() {
Log.i(TAG, "initService()");
connection = new UpdateServiceConnection();
Intent i = new Intent(
"com.farsitel.bazaar.service.UpdateCheckService.BIN D");
i.setPackage("com.farsitel.bazaar");
boolean ret = bindService(i, connection, Context.BIND_AUTO_CREATE);
Log.e(TAG, "initService() bound value: " + ret);
}
/** This is our function to un-binds this activity from our service. */
private void releaseService() {
unbindService(connection);
connection = null;
Log.d(TAG, "releaseService(): unbound.");
}
@Override
protected void onDestroy() {
super.onDestroy();
releaseService();
}
}
از آنجائی که این کلاس بر اساس activity ساخته شده نمیشه از کلاس دیگر این را new کرد و اجرا کرد , به چه نحو باید انجام داد؟
public class MainActivity extends Activity {
IUpdateCheckService service;
UpdateServiceConnection connection;
private static final String TAG = "UpdateCheck";
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");
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initService();
...
}
private void initService() {
Log.i(TAG, "initService()");
connection = new UpdateServiceConnection();
Intent i = new Intent(
"com.farsitel.bazaar.service.UpdateCheckService.BIN D");
i.setPackage("com.farsitel.bazaar");
boolean ret = bindService(i, connection, Context.BIND_AUTO_CREATE);
Log.e(TAG, "initService() bound value: " + ret);
}
/** This is our function to un-binds this activity from our service. */
private void releaseService() {
unbindService(connection);
connection = null;
Log.d(TAG, "releaseService(): unbound.");
}
@Override
protected void onDestroy() {
super.onDestroy();
releaseService();
}
}
از آنجائی که این کلاس بر اساس activity ساخته شده نمیشه از کلاس دیگر این را new کرد و اجرا کرد , به چه نحو باید انجام داد؟