サーバーからデータをschool application
フェッチしようとしています。正常に動作しています。データをフェッチした後、バックグラウンドで実行されているファイル転送サービスの作成を使用してファイルをダウンロードしようとしています。この間、ファイル転送サービスが実行されている場合、ユーザーがサーバーをリコールするように制限したいと考えています。
すべてのサービスを表示する以下のコードを使用していますが、サービスのリストでサービスを見つけることができませんが、バックグラウンドでファイル転送が実行されています 設定で表示しても->サービスが実行されていることを示す実行中のアプリケーション
私のクラスは次のように見えます...誰か別の方法を提案できますか??
public class Getdata {
Intent DownloadServiceIntent;
// Progress Dialog
private ProgressDialog mProgressDialog;
// Alert Dialog Manager
Alert_Dialog_Manager alert = new Alert_Dialog_Manager();
// Database_Handler Object
Database_Handler dbh;
SQLiteDatabase db;
public Getdata(Context context,List<NameValuePair> request) {
mContext = context;
Request = request;
DataUrl = mConnection.fun_GetWebserviceURL()+"Gatway.php";
// get Database
dbh = new Database_Handler(mContext);
db = dbh.get_writeabledb();
boolean checkservice = isServiceRunning(mContext);
Log.d("boolean Value",""+checkservice); // Return Always false But My Service Is Running In Background
if(checkservice){
alert.showAlertDialog(mContext, " Request Alert ","File Download Started In Background \nPlease Try After Sometime!!", false);
}else{
// Get Data
new GetDataService().execute();
}
}
class GetDataService extends AsyncTask<String, String, String> {
protected void onPreExecute() {
super.onPreExecute();
mProgressDialog = new ProgressDialog(mContext);
mProgressDialog.setTitle("Please Wait For Few Minutes...");
mProgressDialog.setMessage("Loading Database... ");
mProgressDialog.setIndeterminate(false);
mProgressDialog.setCancelable(false);
mProgressDialog.show();
}
@Override
protected String doInBackground(String... params) {
//Getting Data From Server
return null;
}
protected void onPostExecute(String file_url) {
// dismiss the dialog once done
mProgressDialog.dismiss();
// Starting service for Download Files..
DownloadServiceIntent = new Intent(mContext,FileTransferService.class);
mContext.startService(DownloadServiceIntent);
} // GetWebService
public boolean isServiceRunning(Context mContext){
boolean isServiceFound = false;
final ActivityManager activityManager =(ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> services = activityManager.getRunningServices(Integer.MAX_VALUE);
for (int i = 0; i < services.size(); i++)
{
Log.d("Service ClassName ","Service" + i + ":" + services.get(i).service.getClassName().toString());
if (services.get(i).service.getClassName().toString().equals("com.soch.webservice.FileTransferService"))
{
isServiceFound = true;
}
}
return isServiceFound;
}
}