Android - Wie ausgeführt Absicht von JavaScript

Ich bin neu in Android und Java. Ich konstruierte ein app mit HTML/Javascript, funktioniert Super.

Ich jetzt brauchen, um eine Aktivität zu erstellen, startet der E-Mail-client, füllt Subjekt und Körper, und (der schwierige Teil) fügt eine Datei-Anlage. Ich habe nicht in der Lage, dies zu tun innerhalb des JavaScript, mailto: wird nicht die Datei anzuhängen.

So brauche ich, um dies zu erreichen, die durch die Java und ausführen von JavaScript. Ich denke, dies kann geschehen, indem man addJavaScriptInterface aber ich finde keine detaillierte Dokumentation oder Beispiele gehen aus der.

Wie könnte ich dies tun?

Hier ist was ich habe, so weit nach dem Lesen der Dokumentation:

2. update code:

MainActivity.java

public class MainActivity extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.setIntegerProperty( "splashscreen", R.drawable.splash );
    super.loadUrl("file:///android_asset/www/index.html", 1000);
    WebView mWebView;
    mWebView = (WebView)findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.addJavascriptInterface(new JavaScriptInterface(), "Android"); 
}
}

JavaScriptInterface.java

public class JavaScriptInterface {

public void doEmail(){
    Intent sendIntent = new Intent(Intent.ACTION_SEND);
    sendIntent.setType("text/html");
    sendIntent.putExtra(android.content.Intent.EXTRA_TEXT,"test text");
    sendIntent.putExtra(Intent.EXTRA_SUBJECT,"test subject");
    sendIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
    sendIntent.putExtra(Intent.EXTRA_STREAM,Uri.parse("file://test co.html"));
    startActivity(Intent.createChooser(sendIntent, "Send email..."));
    } 
}

Dann würde ich mit Verweis auf die Absicht, durch JavaScript, durch die Verwendung von Android.doEmail().

Mit dem obigen code erhalte ich 2 Fehler in Eclipse
1. Die Methode startActivity(Vorsatz) ist nicht definiert für den Typ - JavaScriptInterface
2. webview kann nicht aufgelöst werden oder ist nicht ein Feld - MainActivity

Was mache ich falsch?

InformationsquelleAutor user899641 | 2011-08-29

Schreibe einen Kommentar