2014-01-16 15 views
0

最近我正在工作兩個應用程序,說appA和appB,appB幾乎與appA相同,但只更改包名稱和路徑。我在使用兩個應用時發現了一個奇怪的問題。問題是,當我安裝其中一個時,下一個安裝將停留在下載中。所以我懷疑這是由於下載服務衝突造成的,但我仍然不知道應該在哪裏改變。當我有兩個Android應用程序相似時,下載意圖碰撞

DownloadService.java

if (intent.getAction().equals("com.myApp.downloadmanager.services.IDownloadService")) { 
       int type = intent.getIntExtra(MyIntents.TYPE, -1); 
       String url; 

       switch (type) { 
        case MyIntents.Types.START: 
         if (!mDownloadManager.isRunning()) { 
          mDownloadManager.startManage(); 
         } else { 
          mDownloadManager.reBroadcastAddAllTask(); 
         } 
         break; 
        case MyIntents.Types.ADD: 
         url = intent.getStringExtra(MyIntents.URL); 
         if (!TextUtils.isEmpty(url) && !mDownloadManager.hasTask(url)) { 
          mDownloadManager.addTask(url); 
         } 
         break; 
        case MyIntents.Types.CONTINUE: 
         url = intent.getStringExtra(MyIntents.URL); 
         if (!TextUtils.isEmpty(url)) { 
          mDownloadManager.continueTask(url); 
         } 
         break; 
        case MyIntents.Types.DELETE: 
         url = intent.getStringExtra(MyIntents.URL); 
         if (!TextUtils.isEmpty(url)) { 
          mDownloadManager.deleteTask(url); 
         } 
         break; 
        case MyIntents.Types.PAUSE: 
         url = intent.getStringExtra(MyIntents.URL); 
         if (!TextUtils.isEmpty(url)) { 
          mDownloadManager.pauseTask(url); 
         } 
         break; 
        case MyIntents.Types.STOP: 
         mDownloadManager.close(); 
         // mDownloadManager = null; 
         break; 

        default: 
         break; 
       } 
      } 
     } 
    } 

下載

public void startDownload() { 
     if (Utils.url.size() > 0) { 
      Intent downloadIntent = new Intent(
        "com.myApp.downloadmanager.services.IDownloadService"); 
      downloadIntent.putExtra(MyIntents.ACTIVITY_NAME, activityName); 
      downloadIntent.putExtra(MyIntents.TYPE, MyIntents.Types.ADD); 
      downloadIntent.putExtra(MyIntents.URL, Utils.url.get(0)); 
      mycontext.startService(downloadIntent); 
     } 
    } 

我想知道是否 「com.myApp.downloadmanager.services.IDownloadService」 會引起任何衝突,如果我在同一個運行應用程序時間?或其他可能的原因?謝謝

回答

0

意圖服務名稱是相同的導致此錯誤。只需重命名服務