| |||||||
Das Thema "Webview - Auflösung "mailto" Befehl" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Registriert seit: 17.09.2011
Beiträge: 2
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
| 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
}
} 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());
}
} 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> |
| | |
| | #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
|
Was kommt denn fuer ein Fehler? (logcat!) Ansonsten der Type muss sicherlich Text/plain sein und nicht Test/plain |
| | |
| | #3 (permalink) |
| Neuer Benutzer Registriert seit: 17.09.2011
Beiträge: 2
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
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) |
| | |
| | #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
|
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 |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| 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 |