通过webview使用网页按钮添加日历活动

时间:2011-07-13 20:45:31

标签: java android

我想使用webview来提取页面,它上面是一个事件的标签和一个表示添加到日历的按钮。推送时,它会将事件的详细信息添加到Android手机上的google cal。

我正在尝试使用内容值但尚未运气。这就是我所拥有的,但我愿意接受建议。我想我已经阅读了有关这个的关于stackoverflow的每一篇文章,所以我正在寻找新的或者比已经发布的更完整的东西。

public class button7 extends Activity{

 WebView wb = null;

 /** Called when the activity is first created. */
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.buttons);
  wb = new WebView(this);
  wb.setWebViewClient(new HelloWebViewClient());
  wb.getSettings().setJavaScriptEnabled(true);
  wb.loadUrl("http://whatever website.com");
  setContentView(wb);
 }

 private class HelloWebViewClient extends WebViewClient {

  public boolean shouldOverrideUrlLoading(WebView view, String url) {
   view.loadUrl(url);
   SetCalenderEntry(1,"Test","Is this working","At home");
   return true;
  }

 }




 private void SetCalenderEntry(int i,  String subject, String body, String location) 
 {
    ContentValues event = new ContentValues();
    event.put("calendar_id", i);
    event.put("title", subject);
    event.put("description", body);
    event.put("eventLocation", location);
    long startTime = System.currentTimeMillis() + 1000 * 60 * 60;
    long endTime = System.currentTimeMillis() + 1000 * 60 * 60 * 2;
    event.put("dtstart", startTime);
    event.put("dtend", endTime);
    Uri eventsUri = Uri.parse("content://calendar/events");
    getContentResolver().insert(eventsUri, event);
 }

 public boolean onKeyDown(int keyCode, KeyEvent event) {
  if (keyCode == KeyEvent.KEYCODE_BACK && wb.canGoBack())
   wb.goBack();
  return super.onKeyDown(keyCode, event);
 }
}

1 个答案:

答案 0 :(得分:0)

如果您试图操纵用户的Google日历,请使用Google Calendar GData API