1

我需要在后台从外部存储读取选定的文件,然后使用 Universal Image Loader 下载图像,而在从外部存储读取文件的过程中或在图像下载过程中,用户应该可以选择通过选择另一个文件来取消该过程从外部存储读取,然后下载图像。我使用 IntentService 从外部存储 startService() 读取文件,而当我需要取消当前读取过程并启动所选文件的过程时,这是正确的方法吗?或者我需要使用 HandlerThread/Service/Thread

private void startResService() {
   myServiceIntent = new Intent(activity, ResService.class);
   stopResService();
   mServiceIntent.putExtra("cancelDownload", false);
   startService(mServiceIntent);
}

 private void stopResService() {
    mServiceIntent = new Intent(this,ResService.class);
    mServiceIntent.putExtra("cancelDownload", true);
    startService(myServiceIntent);
}




 private void onHandleIntent(Intent intent) {
    Bundle bundle = intent.getExtras();
    boolean isCanceled = false;
    if (bundle != null) {
        isCanceled = bundle.getBoolean("cancelDownload");
    }

    if (!isCanceled) {
        readRes();
    }
}
4

0 回答 0