【发布时间】:2014-12-19 16:34:06
【问题描述】:
当我单击“添加到日历”按钮时,我的应用程序崩溃时遇到问题,查看 logcat 我发现我没有活动来处理该事件,我不太确定如何工作按下按钮,它会使用此代码解析来自 url 的信息
package com.sideresult.cyfaircal;
public class Event {
String[] myStringArr;
int day;
int month;
int year;
String timeString;
int hourS;
int minuteS;
int hourE;
int minuteE;
String title;
String timezone;
public int getDay() {
return Integer.parseInt(myStringArr[0].split("=")[1]);
}
public int getMonth() {
return Integer.parseInt(myStringArr[1].split("=")[1]);
}
public int getYear() {
return Integer.parseInt(myStringArr[2].split("=")[1]);
}
public String getTimeString() {
return myStringArr[3].split("=")[1];
}
public int getHourS() {
return Integer.parseInt(myStringArr[4].split("=")[1]);
}
public int getMinuteS() {
return Integer.parseInt(myStringArr[5].split("=")[1]);
}
public int getHourE() {
return Integer.parseInt(myStringArr[6].split("=")[1]);
}
public int getMinuteE() {
return Integer.parseInt(myStringArr[7].split("=")[1]);
}
public String getTitle() {
return myStringArr[8].split("=")[1];
}
public String getTimezone() {
return myStringArr[9].split("=")[1];
}
public Event(String[] myStringArr) {
super();
this.myStringArr = myStringArr;
}
}
目前整个应用程序在 webview 中运行,我所有的句柄都在这段代码中
import android.content.Intent;
import android.net.Uri;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MyAppWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(Uri.parse(url).getHost().endsWith("filenecal.com")) {
return false;
}
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
view.getContext().startActivity(intent);
return true;
}
}
我不知道我需要什么样的活动才能从自定义 url 解析并将解析的数据添加到日历中
mlevents://add/event?day=8&month=10&year=2014×tring=12:00 PM - 12:30 PM &hourS=12&minuteS=00&hourE=12&minuteE=30&title=Filene 101:想想。做。改变。 |网络研讨会&timezone=CST
这是我的日志猫
这是我的带有日历的 tab2
package com.sideresult.cyfaircal;
import android.net.Uri;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.app.Activity;
import android.content.Intent;
public class Tab2 extends Activity {
private WebView webView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab2);
webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://filenecal.com/mobile/index.php");
webView.setWebViewClient(new MyAppWebViewClient());
WebSettings settings = webView.getSettings();
settings.setLoadWithOverviewMode(true);
settings.setUseWideViewPort(true);
}
}
【问题讨论】:
标签: android parsing android-intent android-activity webview