2013-10-24 3 views
0

Я использовал уведомление, чтобы показать статус файла загрузки. Я просто использовал FileOutputStream для загрузки файла, так что он может работать и на API меньше 9. Но теперь моя проблема заключается в том, что после завершения загрузки я пытался открыть этот файл в соответствующем читателе. Но он выдает исключение для окна утечки. Если я закрываю приложение, между загрузкой файла.Открыть файл загрузки после завершения уведомления

Ниже приведен код способа обновления, пожалуйста, помогите мне выйти из этого.

@Override 
protected void onProgressUpdate(Integer... values) { 
    super.onProgressUpdate(values); 
    progressUpdate(values[0]); 
} 

@SuppressWarnings("deprecation") 
public void progressUpdate(int percentageComplete) { 
    CharSequence contentText = percentageComplete + "% complete"; 
    mNotification.setLatestEventInfo(mContext, mContentTitle, contentText, 
      mContentIntent);    
    mNotificationManager.notify(NOTIFICATION_ID, mNotification); 

    if(percentageComplete==100){ 

     try { 
      Log.e("file path ",file.getAbsolutePath()); 
      Uri path = Uri.fromFile(file); 
      notificationIntent.setDataAndType(path, "application/pdf"); 
      notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      startActivity(notificationIntent); 
      finish(); 

     } catch (ActivityNotFoundException e) { 
      Toast.makeText(getApplicationContext(), 
        "Unable to open file ,PDF Reader application is not installed in your device", Toast.LENGTH_SHORT).show(); 
     } 

    } 
} 
+0

Android дал ошибку windowlink, когда активность завершена, и вы хотите открыть диалоговое окно или любой поставщик просмотра, который хотите подключиться к окну. – nurisezgin

ответ

1

После того, как ваше приложение находится в фоновом режиме или закрыто, вы не должны показывать тосты/диалоги. Вы можете обработать это из метода onPause() жизненного цикла Activity, взять логическое значение и установить его в true на onPause(). Если его значение означает, что ваше приложение находится в фоновом режиме, и вы не должны показывать диалоги.

Смежные вопросы