import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.DocumentsContract;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
public class MainActivity extends Activity implements OnClickListener {
private TextView text;
private static final int CODE_WRITE = 43;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (TextView) findViewById(R.id.text);
text.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("text/comma-separated-values");//.CSV
intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
startActivityForResult(intent, CODE_WRITE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CODE_WRITE) {
Uri uri = data != null ? data.getData() : null;
Log.d("11111", uri.toString());
setFilePathByUri(uri);
}
}
private void setFilePathByUri(Uri uri) {
if (uri == null || !DocumentsContract.isDocumentUri(this, uri)) {
return;
}
String docId = DocumentsContract.getDocumentId(uri);
Log.d("11111", docId);
String[] split = docId.split(":");
String type = split[0];
if ("primary".equalsIgnoreCase(type)) {
text.setText(Environment.getExternalStorageDirectory() + "/" + split[1]);
} else {
text.setText("storage/sdcard1/" + split[1]);
}
}
}
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
if (multiple.isChecked()) {
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
}
if (localOnly.isChecked()) {
intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
}
startActivityForResult(Intent.createChooser(intent, "Kittens!"), CODE_READ);
}
});