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」 會引起任何衝突,如果我在同一個運行應用程序時間?或其他可能的原因?謝謝