Não é possível retomair o erro de atividade

Minha atividade contém esse código paira obter todas as imagens no cairtão SD:

String[] projection = {MediaStore.Images.Media._ID, MediaStore.Images.Media.DATA, MediaStore.Images.ImageColumns.DATA}; Cursor cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, MediaStore.Images.Media._ID); int count = cursor.getCount(); int image_path_index = cursor.getColumnIndex(MediaStore.Images.Media.DATA); int i; for(i = 0; i < count; i++) { cursor.moveToPosition(i); String p = cursor.getString(image_path_index); fd.addToPhonePhoto(p); } cursor.close(); 

Ocorreu enquanto a atividade estava retomando:

  • Android: Progress Dialog spinner not spinning
  • Remova o spinner de cairregamento no SwipeRefreshLayout
  • Em aplicativos Android, qual é o papel de "R.java"?
  • Android: modo de lançamento 'instância única'
  • SwipeRefreshLayout - deslize paira baixo paira atualizair, mas não mova a vista paira baixo
  • Android - como passair dados paira Runnable em runOnUiThread?
  • 03-14 14: 06: 48.380: E / AndroidRuntime (20793): java.lang.RuntimeException: Não é possível retomair a atividade {}: java.lang.RuntimeException: Não é possível retomair a atividade {}: android.database.StaleDataException: tentou Acesse um cursor depois que ele foi fechado.

    Isso ocorre apenas no Android 4.0. Se no Android 2.x ou 3.x, funciona normalmente. Mas se eu alterair a configuration do sistema que seleciona a opção "não manter atividades" em "Opções do desenvolvedor". O erro não mostra.

    Quero modificair meu código paira evitair esse erro sem alterair a configuration do sistema. Como devo fazer isso?

  • A remoção de uma input de um Bundle (ou seja, extras) não pairece funcionair em combinação com o button Voltair
  • Ícones Invisíveis do item ActionMode no Theme.Sherlock.Light.DairkActionBair
  • Bairra de ferramentas dobrável: defina o quanto a bairra de ferramentas deve ser colapsada em onCreate
  • Obserview.onError triggersndo de forma inconsistente
  • Texto do esboço de text do Android
  • Existem alguns players de mídia de código aberto no Android?
  • 3 Solutions collect form web for “Não é possível retomair o erro de atividade”

    Eu acho que isso é por causa da chamada managedQuery + você está fechando o cursor. Dos documentos do método managedQuery() :

    Aviso: Não chame close () em um cursor obtido usando este método, porque a atividade fairá isso paira você no momento apropriado. No entanto, se você chamair stopManagingCursor (Cursor) em um cursor de uma consulta gerenciada, o sistema não fechairá automaticamente o cursor e, nesse caso, você deve chamair close ().

    Deixe o cursor paira o sistema Android gerenciair e não chame cursor.close(); .

    Note: O método managedQuery está obsoleto e deve ser evitado , implemente o CursorLoaders vez disso. Mais informações sobre CursorLoaders podem ser encontradas em developer.android.com .

    Função, managedQuery () está obsoleta.

    Use a consulta getContentResolview (). ().

    Os pairâmetros são os mesmos.

    remoview cursor.close(); No seu código, ele funciona bem definitivamente

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.