Ich muss eine App erstellen, die das Durchsuchen von PDF vom Telefon und dann das Lesen von (was später ausgeführt wird, sobald der Browser-Teil getan wird) und ich habe Probleme mit dem Code. Ich habe über den folgenden Link gegangen ich auf Stackoverflow gefunden, aber leider ist es nicht funktioniert, Browse and upload pdf or word file in Android Hier ist meine MainActivity.java KlasseDurchsuchen Sie pdf von Telefon in Android Studio
import java.io.File;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;
public class MainActivity extends AppCompatActivity {
Button btnAttach;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnAttach = (Button) findViewById(R.id.button1);
//button1 is the id of the only button I have in my activity_main.xml
// view products click event
btnAttach.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
button1_OnClick(view);
// Launching All products Activity
}
});
}
public void button1_OnClick(View view) {
getDocument();
}
private void getDocument() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("application/msword,application/pdf");
intent.addCategory(Intent.CATEGORY_OPENABLE);
}
}
protected void onActivityResult (int req, int result, Intent data)
{
// TODO Auto-generated method stub
super.onActivityResult(req, result, data);
if (result == RESULT_OK) {
Uri fileuri = data.getData();
String docFilePath = getFileNameByUri(this, fileuri);
}
}
// get file path
private String getFileNameByUri(Context context, Uri uri) {
String filepath = "";//default fileName
File file;
if (uri.getScheme().toString().compareTo("content") == 0) {
Cursor cursor = context.getContentResolver().query(uri, new String[]{android.provider.MediaStore.Images.ImageColumns.DATA, MediaStore.Images.Media.ORIENTATION}, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String mImagePath = cursor.getString(column_index);
cursor.close();
filepath = mImagePath;
} else if (uri.getScheme().compareTo("file") == 0) {
try {
file = new File(new URI(uri.toString()));
if (file.exists())
filepath = file.getAbsolutePath();
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
filepath = uri.getPath();
}
return filepath;
}
}
Bitte definieren Sie, was "nicht funktioniert" genau bedeutet (erwartet vs tatsächlichen Ergebnis, Fehlermeldungen, etc.). Sie haben mir immer noch nicht die Kristallkugel geliefert, die ich bestellt habe. – CherryDT
Wenn ich auf Button1 klicke, passiert nichts. –
Nur wenn ich mir den anderen Thread anschaue, würde ich sagen, dass 'startActivityForResult (intent, REQUEST_CODE_DOC);' fehlt, um etwas zu tun. Außerdem gibt es etwas Seltsames mit deinen Zahnspangen (schau dir die streunende schließende Klammer in 'getDocument' an), ich frage mich, ob es überhaupt kompiliert wurde. – CherryDT