2011-02-11 8 views
4

私は、アプリが設定された後、ユーザーからの入力なしで、バックグラウンドでカレンダーにイベントを書き込む必要があるアプリを書いています。つまり、インテントを使用してイベントが作成されるメソッドは、私の後ではありません。Android Appでカレンダーイベントを追加する

私はウェブサイトにこのコードを見つけましたが、それは動作しません:今すぐ

long start = 1297512000; // 2011-02-12 12h00 
    long end = 1297515600; // 2011-02-12 13h00 

    String title = "TEST ENTRY - DELETE ME!!"; 

    ContentValues cvEvent = new ContentValues(); 
    cvEvent.put("calendar_id", 1); 
    cvEvent.put("title", title); 
    cvEvent.put("dtstart", start); 
    //cvEvent.put("hasAlarm", 1); 
    cvEvent.put("dtend", end); 

    getContentResolver().insert(Uri.parse("content://com.android.calendar/events"), cvEvent); 

、誰でもかなように、「Googleは非常には、このメソッドを使用していないお勧めします」でウェイズ前に、私はすでにこれを知っています。

これは誰でもいますか?私は私のデバイス上でジンジャーブレッドを実行しているので、問題が発生する可能性があります!

私が見つけた唯一の選択肢は、GData APIを使用することですが、次に認証する必要があります。これは、上記の方が優れている理由です。あまりにも! :)

誰かが助けることができるなら、してください!

おかげ ニール

+0

奇妙なことに、オンラインエポックコンバータを使用すると、上記の日付が正しく機能しました。私はちょうどこれらが実際に間違っていて、1970年の日付であることを発見しました。それらを修正するには、3x 0を最後に追加する必要があります:1297512000000と1297515600000。私のコードは動作していましたが、追加されました! DOH! – neildeadman

+0

同じサイトのバルクコンバータを使用しても正しい日付が表示されます...私はそのサイトの著者に連絡しました。 – neildeadman

答えて

1

変換された日付に問題がありました。私は1970年代の日付で終わりましたが、2011年2月の日付を予定していました。

異なるエポックコンバータを使用すると、3つの0が欠落していることがわかりました。

0

私はこれをしなかったアプリを持っていたが、HTCセンスUIとモトローラMOTOBLURの両方が、私が今までに見つけることができる無修正で、多くの携帯電話にこの機能を破りました。 GoogleがこれらのAPIをボタンアップしてすべてのデバイスで適切に利用できるようにすることは本当に残念です。モバイルデバイスSDKには基本的な機能しかないはずです。私はそれがBlackberry SDKにあることを知っています。

私はこれを行うことができると思いますので、あなたが方法を見つけたら、私はそれを見ることができるようにここに投稿してください。しかし、私はあなたがこれをAndroidデバイスの小さなサブセットだけで動作させることはできないと思うので、これに多くの時間を費やすことには注意しています。

+0

ええ、それは奇妙に思えます...多分これは将来のSDKリリースで来るでしょう – neildeadman

関連する問題