2017-10-06 2 views
0

Sagen Sie, ich möchte ein Bild oder ein Textdokument hochladen, wenn ich auf die Schaltfläche klicken, um die Datei auszuwählen wie mache ich es so, dass es ein Bündel ein Popup von Anwendungen zeigt aus wählen bei Dateien suchen und enter image description hereAndroid Java Filepicker wählen Sie Anwendung, um Datei auszuwählen

für den Upload wie in diesem Bild auswählen, auf im Moment habe ich diese

public void sendFile(View view) { 
    Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); 
    intent.setType("*/*"); 
    startActivityForResult(intent, READ_REQUEST_CODE); 
} 

aber dies geht direkt auf Dokumente und ich nicht läßt eine Anwendung wie Galerie wählen oder MEGA

keine Idee, wie dies zu implementieren?

+1

, weil Sie bereits 'xxx' Applikation als Standard –

Antwort

0
import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

public class AndroidPick_a_File extends Activity { 

TextView textFile; 

private static final int PICKFILE_RESULT_CODE = 1; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Button buttonPick = (Button)findViewById(R.id.buttonpick); 
     textFile = (TextView)findViewById(R.id.textfile); 

     buttonPick.setOnClickListener(new Button.OnClickListener(){ 

    @Override 
    public void onClick(View arg0) { 
    // TODO Auto-generated method stub 

    Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
      intent.setType("file/*"); 
     startActivityForResult(intent,PICKFILE_RESULT_CODE); 

    }}); 
    } 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    switch(requestCode){ 
    case PICKFILE_RESULT_CODE: 
    if(resultCode==RESULT_OK){ 
    String FilePath = data.getData().getPath(); 
    textFile.setText(FilePath); 
    } 
    break; 

    } 
} 
} 

main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 

<Button 
    android:id="@+id/buttonpick" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="- PICK a file -" 
    /> 
<TextView 
    android:id="@+id/textfile" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    /> 
</LinearLayout> 

enter image description here

+0

Aha Intent.ACTION_GET_CONTENT gesetzt werden mehr Optionen gibt mir Art und Weise schön Noch Wie würde ich Holen Sie sich das Popup, das in dem Bild ist, das ich gepostet habe –

+0

Ja, es wird alle installierte App auflisten, die diese Aktion unterstützen. –

+0

So sollte es nicht gemacht werden. Überprüfen Sie die Antwort unten. Wir sind nicht mehr in Android 2.3. Die Erfahrung muss vereinheitlicht werden und erwartet der Nutzer – Sucho

0

Sie haben die Dateiauswahl über das Android-System Datei-Picker getan werden muss, verstehen. Andere Apps wie Laufwerk und Dropbox werden in der Navigationsleiste links angezeigt. Mega sollte einen Code enthalten, damit der Inhalt in der Dateiauswahl des Android-Systems sichtbar ist. So soll es sein. Android hat den Dateiauswahlprozess vereinheitlicht.

Beim Teilen einer Datei ist dies jedoch nicht der Fall. In diesem Fall, dass Sie Option bekommen würde aus wie der Screenshot wählen geschrieben Sie

enter image description here

Verwandte Themen