Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Webview - Auflösung "mailto" Befehl

Das Thema "Webview - Auflösung "mailto" Befehl" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 17.09.2011, 20:22   #1 (permalink)
Neuer Benutzer

Registriert seit: 17.09.2011
Beiträge: 2
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Webview - Auflösung "mailto" Befehl

Hallo liebe Community,

habe folgendes Problem. Ich habe eine Html Datei, die nach Eingabe gewisser Formularfelder den mailto Link generiert.
Die Angaben sollen dann nach Auswahl des E-Mail Programms übernommen werden. Im Browser klappt die auch ohne Probleme.

Was stimmt an den folgenden Angaben nicht?
Ich muss dazu sagen, dass Java mich bisher nicht interessiert hat, was sich in der Zukunft sicherlich ändern wird.

Eclipse hat bei "startActivity(i);" gemeckert und danach automatisch 2 Zeilen hinzugefügt. Ich denke es hängt mit all dem irgendwie zusammen.

Vielen Dank


HelloWebViewClient.java
Code:
package com.email.view;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;

import android.content.Intent;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class HelloWebViewClient extends WebViewClient {

    @Override
     public boolean shouldOverrideUrlLoading(WebView view, String url) {         
         if (url.startsWith("mailto:")) {                    
            url = url.replaceFirst("mailto:", "");
                url = url.trim();
                try {
                url = URLDecoder.decode(url,"UTF-8");
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }
        int subjectStart = url.indexOf("subject=");
                int subjectStop = url.indexOf("&body=");
                String subject = url.substring(subjectStart,subjectStop);
                subject = subject.replace("subject=", "");
                String bod = url.substring(subjectStop);
                bod = bod.replace("&body=", "");
                Intent i = new Intent(Intent.ACTION_SEND);
                i.setType("test/plain");
                i.putExtra(Intent.EXTRA_SUBJECT,subject);               
                i.putExtra(Intent.EXTRA_TEXT, bod);
                startActivity(i);
                return true;

     } else { 
         view.loadUrl(url);
         return true;
         }
     }

    private void startActivity(Intent i) {
        // TODO Auto-generated method stub
        
    }


}
WebViewExample.java
Code:
package com.email.view;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class WebViewExample extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        WebView webView = (WebView) findViewById(R.id.webview);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("http://xxxxxxxxxxxxxxxx/test.html");

        webView.setWebViewClient(new HelloWebViewClient());

    }
}
AndroidManifest.xml
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.email.view"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".WebViewExample"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
    <uses-sdk android:minSdkVersion="5" />

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>
Androbek ist offline   Mit Zitat antworten
Alt 17.09.2011, 23:18   #2 (permalink)
Erfahrener Benutzer

Modell: G1 DevPhone / SGS2 / SGT10.1v

Registriert seit: 20.01.2009
Beiträge: 238
Abgegebene Danke: 7
Erhielt 50 Danke für 47 Beiträge
Standard AW: Webview - Auflösung "mailto" Befehl

Was kommt denn fuer ein Fehler? (logcat!)
Ansonsten der Type muss sicherlich Text/plain sein und nicht Test/plain
__________________
Meine App: Die Cocktail App für Android™ - jetzt im Market (PRO)
sixi ist offline   Mit Zitat antworten
Alt 18.09.2011, 03:30   #3 (permalink)
Neuer Benutzer

Registriert seit: 17.09.2011
Beiträge: 2
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Webview - Auflösung "mailto" Befehl

logcat
Code:
I/ActivityManager(   71): Starting: Intent { act=android.intent.action.MAIN cat=
[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.email.view/.We
bViewExample } from pid 372
W/WindowManager(   71): Failure taking screenshot for (230x143) to layer 21000
I/ActivityManager(   71): Start proc com.email.view for activity com.ema
il.view/.WebViewExample: pid=380 uid=10037 gids={3003}
D/AndroidRuntime(  372): Shutting down VM
I/AndroidRuntime(  372): NOTE: attach of thread 'Binder Thread #3' failed
D/dalvikvm(  372): GC_CONCURRENT freed 98K, 83% free 358K/2048K, paused 1ms+0ms
D/jdwp    (  372): adbd disconnected
D/TabletStatusBar(  122): lights on
D/dalvikvm(  380): GC_FOR_ALLOC freed 36K, 4% free 6311K/6531K, paused 74ms
I/dalvikvm-heap(  380): Grow heap (frag case) to 6.698MB for 513744-byte allocat
ion
D/dalvikvm(  380): GC_FOR_ALLOC freed <1K, 4% free 6812K/7047K, paused 61ms
D/dalvikvm(  380): GC_CONCURRENT freed <1K, 4% free 6812K/7047K, paused 7ms+6ms
V/TLINE   (  380): new: android.text.TextLine@406c91b8
W/webcore (  380): Not supported in this case.
I/ActivityManager(   71): Displayed com.email.view/.WebViewExample: +2s5
71ms (total +36s889ms)
I/ActivityManager(   71): Displayed com.android.launcher/com.android.launcher2.L
auncher: +36s891ms
D/dalvikvm(  145): GC_EXPLICIT freed 1105K, 8% free 14972K/16135K, paused 4ms+11
ms
W/asset   (  145): Asset path /data/app/com.email.view-2.apk is neither
a directory nor file (type=1).
W/PackageManager(  145): Failure retrieving resources forcom.email.view
W/asset   (  145): Asset path /data/app/com.email.view-2.apk is neither
a directory nor file (type=1).
W/PackageManager(  145): Failure retrieving resources forcom.email.view
W/asset   (  145): Asset path /data/app/com.email.view-2.apk is neither
a directory nor file (type=1).

Und das sobald man auf den Link klickt:
Code:
V/TLINE   (  636): new: android.text.TextLine@406ddef8
W/webcore (  636): Not supported in this case.
D/dalvikvm(  145): GC_EXPLICIT freed 5K, 17% free 14160K/17031K, paused 4ms+1096
ms
I/ActivityManager(   71): Displayed com.email.view/.WebViewExample: +2s8
71ms
D/dalvikvm(  145): GC_EXPLICIT freed <1K, 17% free 14162K/17031K, paused 4ms+4ms

D/AndroidRuntime(  636): Shutting down VM
W/dalvikvm(  636): threadid=1: thread exiting with uncaught exception (group=0x4
0014760)
E/AndroidRuntime(  636): FATAL EXCEPTION: main
E/AndroidRuntime(  636): java.lang.StringIndexOutOfBoundsException: start=-1 end
=-1 length=12
E/AndroidRuntime(  636):        at java.lang.String.startEndAndLength(String.jav
a:598)
E/AndroidRuntime(  636):        at java.lang.String.substring(String.java:1561)
E/AndroidRuntime(  636):        at com.email.view.HelloWebViewClient.sho
uldOverrideUrlLoading(HelloWebViewClient.java:24)
E/AndroidRuntime(  636):        at android.webkit.CallbackProxy.uiOverrideUrlLoa
ding(CallbackProxy.java:222)
E/AndroidRuntime(  636):        at android.webkit.CallbackProxy.handleMessage(Ca
llbackProxy.java:322)
E/AndroidRuntime(  636):        at android.os.Handler.dispatchMessage(Handler.ja
va:99)
E/AndroidRuntime(  636):        at android.os.Looper.loop(Looper.java:132)
E/AndroidRuntime(  636):        at android.app.ActivityThread.main(ActivityThrea
d.java:4025)
E/AndroidRuntime(  636):        at java.lang.reflect.Method.invokeNative(Native
Method)
E/AndroidRuntime(  636):        at java.lang.reflect.Method.invoke(Method.java:4
91)
E/AndroidRuntime(  636):        at com.android.internal.os.ZygoteInit$MethodAndA
rgsCaller.run(ZygoteInit.java:841)
E/AndroidRuntime(  636):        at com.android.internal.os.ZygoteInit.main(Zygot
eInit.java:599)
E/AndroidRuntime(  636):        at dalvik.system.NativeStart.main(Native Method)

W/ActivityManager(   71):   Force finishing activity com.email.view/.Web
ViewExample

Geändert von Androbek (18.09.2011 um 03:50 Uhr)
Androbek ist offline   Mit Zitat antworten
Alt 18.09.2011, 10:44   #4 (permalink)
Erfahrener Benutzer

Modell: G1 DevPhone / SGS2 / SGT10.1v

Registriert seit: 20.01.2009
Beiträge: 238
Abgegebene Danke: 7
Erhielt 50 Danke für 47 Beiträge
Standard AW: Webview - Auflösung "mailto" Befehl

java.lang.StringIndexOutOfBoundsException: start=-1 end=-1 length=12

-> In Zeile 24 (ka welche von deinen das ist) -> da ist wohl eines von deinen "indexOf(...)" nicht richtig. Wenn der String nicht vorkommt gibt es den Wert "-1" und dementsprechend einen Fehler wenn du den String mit substring beschneidest. Entweder du debuggst das ganze mit Eclipse durch oder machst dir mal ein paar Debug-Ausgaben rein (z.B. System.out.println(url.toString)) in jede zweite, da wirst du den Fehler finden
__________________
Meine App: Die Cocktail App für Android™ - jetzt im Market (PRO)
sixi ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Kontakte und Termine von "PC Sync" -> "funambol" oder "google"?? tdeece HTC Desire Forum 2 22.08.2011 13:30
DEODEXEN Problem (Befehl "adb shell" funkioniert nicht) -Mico- Root / Hacking / Modding für Motorola Milestone 2 18 28.12.2010 03:19
"Auflösung" des I9000 ändern Duc-Driver Root / Hacking / Modding für Samsung Galaxy S 23 11.12.2010 13:05
Suche günstigen Android mit "normaler" Auflösung und Updatemöglichkeit auf Froyo 2.2 fleck Sonstige Android-Smartphones 1 07.07.2010 17:02
Hilfe: Wie kann ich die Gruppen "Friends", "Familie" und "Mitarbeiter" im G1 anlegen? Uwe307 T-Mobile G1 Forum 4 14.03.2009 18:11




Du liest gerade: "Webview - Auflösung "mailto" Befehl" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.