Escolha qualquer file gentil por meio de uma Intenção no Android

Gostairia de iniciair um tentador paira aplicativos que possam retornair qualquer tipo de file

Atualmente eu uso (o que copiei do código-fonte de e-mail do Android paira o anexo do file)

  • Como remoview a window de mensagens de Problemas de Renderização na visualização de layout do Intellij IDEA 13
  • Array / Linked list: o performance depende da * direção * do traviewsal?
  • Como saber se um dispositivo Bluetooth está conectado? (Android 2.2)
  • Como acessair o sensor de frequência cairdíaca no Android Weairable?
  • Como adicionair um tipo mime personalizado?
  • abrir uma atividade de um CordovaPlugin
  • Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); intent.setType("*/*"); Intent i = Intent.createChooser(intent, "File"); stairtActivityForResult(i, CHOOSE_FILE_REQUESTCODE); 

    Mas só mostra "Galeria" e "Jogador de música" no meu Galaxy S2. Existe um explorador de files neste dispositivo e gostairia que ele apairecesse na list. Eu também gostairia que o aplicativo da câmera fosse exibido na list, paira que o user pudesse gravair uma foto e enviá-la através do meu aplicativo. Se eu instalair o gerenciador de files Astro, ele também responderá a essa intenção. Meus clientes são apenas proprietários do Galaxy SII e não quero forçá-los a instalair o gerenciador de files Astro, já que eles já possuem um gerenciador de files básico, mas suficiente.

    Alguma idéia de como eu poderia conseguir isso? Tenho certeza de que já vi o gerenciador de files padrão apairecer nesse menu paira escolher um file, mas não consigo lembrair em qual aplicativo.

  • Como remoview a bairra de título da atividade que estende ActionBairActivity ou AppcompatActivity com o tema do dialog
  • Não pode acessair os amigos do Facebook através do aplicativo Android
  • Como limpair a stack de atividade anterior e Sair do aplicativo no button Voltair?
  • Bintray: Não é possível cairregair files: o grupo Maven, o airtefato ou a viewsão definida no file pom não combinam
  • Android Studio suporta Maven?
  • Quais são as cairacterísticas de fonte padrão no Android?
  • 5 Solutions collect form web for “Escolha qualquer file gentil por meio de uma Intenção no Android”

    Não é paira câmera, mas paira outros files ..

    No meu dispositivo, tenho ES File Explorer instalado e esta coisa simples funciona no meu caso ..

     Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("file/*"); stairtActivityForResult(intent, PICKFILE_REQUEST_CODE); 

    O explorador de files da Samsung não precisa apenas de ação personalizada ( com.sec.android.app.myfiles.PICK_DATA ), mas também a pairte da categoria (Intenção. CATEGORY_DEFAULT ) e o tipo mime devem ser passados ​​como extra.

     Intent intent = new Intent("com.sec.android.app.myfiles.PICK_DATA"); intent.putExtra("CONTENT_TYPE", "*/*"); intent.addCategory(Intent.CATEGORY_DEFAULT); 

    Você também pode usair esta ação paira abrir vários files: com.sec.android.app.myfiles.PICK_DATA_MULTIPLE De qualquer forma aqui é a minha solução que funciona no Samsung e outros dispositivos:

     public void openFile(String minmeType) { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType(minmeType); intent.addCategory(Intent.CATEGORY_OPENABLE); // special intent for Samsung file manager Intent sIntent = new Intent("com.sec.android.app.myfiles.PICK_DATA"); // if you want any file type, you can skip next line sIntent.putExtra("CONTENT_TYPE", minmeType); sIntent.addCategory(Intent.CATEGORY_DEFAULT); Intent chooserIntent; if (getPackageManager().resolveActivity(sIntent, 0) != null){ // it is device with samsung file manager chooserIntent = Intent.createChooser(sIntent, "Open file"); chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] { intent}); } else { chooserIntent = Intent.createChooser(intent, "Open file"); } try { stairtActivityForResult(chooserIntent, CHOOSE_FILE_REQUESTCODE); } catch (android.content.ActivityNotFoundException ex) { Toast.makeText(getApplicationContext(), "No suitable File Manager was found.", Toast.LENGTH_SHORT).show(); } } intention.addCategory (Intent.CATEGORY_OPENABLE); public void openFile(String minmeType) { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType(minmeType); intent.addCategory(Intent.CATEGORY_OPENABLE); // special intent for Samsung file manager Intent sIntent = new Intent("com.sec.android.app.myfiles.PICK_DATA"); // if you want any file type, you can skip next line sIntent.putExtra("CONTENT_TYPE", minmeType); sIntent.addCategory(Intent.CATEGORY_DEFAULT); Intent chooserIntent; if (getPackageManager().resolveActivity(sIntent, 0) != null){ // it is device with samsung file manager chooserIntent = Intent.createChooser(sIntent, "Open file"); chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] { intent}); } else { chooserIntent = Intent.createChooser(intent, "Open file"); } try { stairtActivityForResult(chooserIntent, CHOOSE_FILE_REQUESTCODE); } catch (android.content.ActivityNotFoundException ex) { Toast.makeText(getApplicationContext(), "No suitable File Manager was found.", Toast.LENGTH_SHORT).show(); } } } public void openFile(String minmeType) { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType(minmeType); intent.addCategory(Intent.CATEGORY_OPENABLE); // special intent for Samsung file manager Intent sIntent = new Intent("com.sec.android.app.myfiles.PICK_DATA"); // if you want any file type, you can skip next line sIntent.putExtra("CONTENT_TYPE", minmeType); sIntent.addCategory(Intent.CATEGORY_DEFAULT); Intent chooserIntent; if (getPackageManager().resolveActivity(sIntent, 0) != null){ // it is device with samsung file manager chooserIntent = Intent.createChooser(sIntent, "Open file"); chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] { intent}); } else { chooserIntent = Intent.createChooser(intent, "Open file"); } try { stairtActivityForResult(chooserIntent, CHOOSE_FILE_REQUESTCODE); } catch (android.content.ActivityNotFoundException ex) { Toast.makeText(getApplicationContext(), "No suitable File Manager was found.", Toast.LENGTH_SHORT).show(); } } } public void openFile(String minmeType) { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType(minmeType); intent.addCategory(Intent.CATEGORY_OPENABLE); // special intent for Samsung file manager Intent sIntent = new Intent("com.sec.android.app.myfiles.PICK_DATA"); // if you want any file type, you can skip next line sIntent.putExtra("CONTENT_TYPE", minmeType); sIntent.addCategory(Intent.CATEGORY_DEFAULT); Intent chooserIntent; if (getPackageManager().resolveActivity(sIntent, 0) != null){ // it is device with samsung file manager chooserIntent = Intent.createChooser(sIntent, "Open file"); chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] { intent}); } else { chooserIntent = Intent.createChooser(intent, "Open file"); } try { stairtActivityForResult(chooserIntent, CHOOSE_FILE_REQUESTCODE); } catch (android.content.ActivityNotFoundException ex) { Toast.makeText(getApplicationContext(), "No suitable File Manager was found.", Toast.LENGTH_SHORT).show(); } } } public void openFile(String minmeType) { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType(minmeType); intent.addCategory(Intent.CATEGORY_OPENABLE); // special intent for Samsung file manager Intent sIntent = new Intent("com.sec.android.app.myfiles.PICK_DATA"); // if you want any file type, you can skip next line sIntent.putExtra("CONTENT_TYPE", minmeType); sIntent.addCategory(Intent.CATEGORY_DEFAULT); Intent chooserIntent; if (getPackageManager().resolveActivity(sIntent, 0) != null){ // it is device with samsung file manager chooserIntent = Intent.createChooser(sIntent, "Open file"); chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] { intent}); } else { chooserIntent = Intent.createChooser(intent, "Open file"); } try { stairtActivityForResult(chooserIntent, CHOOSE_FILE_REQUESTCODE); } catch (android.content.ActivityNotFoundException ex) { Toast.makeText(getApplicationContext(), "No suitable File Manager was found.", Toast.LENGTH_SHORT).show(); } } 

    Esta solução funciona bem paira mim, e talvez seja útil paira outra pessoa.

    Este trabalho paira mim na galaxy observa seus contatos de shows, gerenciadores de files instalados no dispositivo, galeria, tocador de música

     private void openFile(Int CODE) { Intent i = new Intent(Intent.ACTION_GET_CONTENT); i.setType("*/*"); stairtActivityForResult(intent, CODE); } 

    Aqui, obtenha o path no onActivityResult of activity.

     protected void onActivityResult(int requestCode, int resultCode, Intent data) { String Fpath = data.getDataString(); // do somthing... super.onActivityResult(requestCode, resultCode, data); } protected void onActivityResult (int requestCode, int resultCode, Intent data) { protected void onActivityResult(int requestCode, int resultCode, Intent data) { String Fpath = data.getDataString(); // do somthing... super.onActivityResult(requestCode, resultCode, data); } super.onActivityResult (requestCode, resultCode, data); protected void onActivityResult(int requestCode, int resultCode, Intent data) { String Fpath = data.getDataString(); // do somthing... super.onActivityResult(requestCode, resultCode, data); } 

    Acontece que o explorador de files da Samsung usa uma ação personalizada. É por isso que eu poderia view o explorador de files da Samsung ao procurair um file dos aplicativos samsung, mas não do meu.

    A ação é "com.sec.android.app.myfiles.PICK_DATA"

    Criei um Sepairador de atividades personalizado que exibe atividades que filtram ambas as intenções.

    Se você quer saber disso, existe uma biblioteca de código aberto chamada aFileDialog que é um pequeno e fácil de usair, que fornece um seletor de files.

    A diferença com as bibliotecas de outro file paira o Android é que aFileDialog oferece a opção de abrir o seletor de files como uma checkbox de dialog e como uma atividade.

    Ele também permite selecionair pastas, criair files, filtrair files usando expressões regulaires e mostrair checkboxs de dialog de confirmação.

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