IDownloaderClient onServiceConnected не вызывается
Я пытаюсь заставить мое приложение загружать файлы расширения при запуске. Я следовал руководству от Android, и какое-то время он начинал загружаться, а затем останавливался на 98%, сообщая, что не может проверить файл, но файл действительно был там. Сегодня я не изменил ни одного кода, и он даже не пытается загрузить. Я установил контрольные точки по всему классу, и они никогда не доходят до onServiceConnected
метод, который исходит от IDownloaderClient
,
В конце onCreate у меня есть
initializeDownloadUI();
if (!expansionFilesDelivered()) {
try {
final Intent launchIntent = MainActivity.this.getIntent();
final Intent intentToLaunchThisActivityFromNotification = new Intent(MainActivity.this, MainActivity.this.getClass());
intentToLaunchThisActivityFromNotification.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
intentToLaunchThisActivityFromNotification.setAction(launchIntent.getAction());
if (launchIntent.getCategories() != null) {
for (String category : launchIntent.getCategories())
intentToLaunchThisActivityFromNotification.addCategory(category);
}
// Build PendingIntent used to open this activity from Notification.
final PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, 0, intentToLaunchThisActivityFromNotification, PendingIntent.FLAG_UPDATE_CURRENT);
// Request to start the download.
final int startResult = DownloaderClientMarshaller.startDownloadServiceIfRequired(this, pendingIntent, DownloaderServiceHelper.class);
if (startResult != DownloaderClientMarshaller.NO_DOWNLOAD_REQUIRED) {
initializeDownloadUI();
return;
}
} catch (PackageManager.NameNotFoundException exc) {
Log.wtf("MainActivity", "Cannot find own package.");
exc.printStackTrace();
}
} else validateXAPKZipFiles();
И мой initializeDownloadUI()
mDownloaderClientStub = DownloaderClientMarshaller.CreateStub(this, DownloaderService.class);
setContentView(R.layout.main);
mPB = (ProgressBar) findViewById(R.id.progressBar);
mStatusText = (TextView) findViewById(R.id.statusText);
mProgressFraction = (TextView) findViewById(R.id.progressAsFraction);
mProgressPercent = (TextView) findViewById(R.id.progressAsPercentage);
mAverageSpeed = (TextView) findViewById(R.id.progressAverageSpeed);
mTimeRemaining = (TextView) findViewById(R.id.progressTimeRemaining);
mDashboard = findViewById(R.id.downloaderDashboard);
mCellMessage = findViewById(R.id.approveCellular);
mPauseButton = (Button) findViewById(R.id.pauseButton);
mWiFiSettingButton = (Button) findViewById(R.id.wifiSettingsButton);
mPauseButton.setOnClickListener(this);
mWiFiSettingButton.setOnClickListener(this);
(findViewById(R.id.resumeOverCellular)).setOnClickListener(this);
Кроме того, мой onResume является
if (null != mDownloaderClientStub) {
mDownloaderClientStub.connect(this);
}
super.onResume();
Он проходит через onCreate, как и ожидалось, но по какой-то причине не подключает сервис. Как я уже сказал, это работало несколько дней назад, и я ничего не изменил, но теперь это не работает.
Любая помощь?
1 ответ
Похоже, имя вашего класса обслуживания DownloaderServiceHelper
Так что вам нужно изменить код в initializeDownloadUi
метод
от
mDownloaderClientStub = DownloaderClientMarshaller.CreateStub(this, DownloaderService.class);
в
mDownloaderClientStub = DownloaderClientMarshaller.CreateStub(this, DownloaderServiceHelper.class);