Saya baru saja mempercepat Android, dan hari ini dalam rapat proyek seseorang berkata bahwa Android tidak memiliki aplikasi kalender asli sehingga pengguna hanya menggunakan aplikasi kalender apa pun yang mereka suka.
Apakah ini benar, dan jika demikian, bagaimana saya secara program menambahkan acara ke kalender pengguna? Apakah ada API umum yang mereka bagikan?
Untuk apa nilainya, kami mungkin menargetkan Android 2.x.
Jawaban:
Kalender yang mana?
Tidak, tidak lebih dari ada "API umum yang mereka semua bagikan" untuk aplikasi kalender Windows. Ada beberapa format data umum (misalnya, iCalendar) dan protokol Internet (misalnya, CalDAV), tetapi tidak ada API umum. Beberapa aplikasi kalender bahkan tidak menawarkan API.
Jika ada aplikasi kalender khusus yang ingin Anda integrasikan, hubungi pengembangnya dan tentukan apakah mereka menawarkan API. Jadi, misalnya, aplikasi Kalender dari proyek open source Android, yang mengutip Mayra, tidak menawarkan API yang terdokumentasi dan didukung. Google bahkan secara eksplisit mengatakan kepada pengembang untuk tidak menggunakan teknik yang diuraikan dalam tutorial yang dikutip Mayra.
Pilihan lain adalah bagi Anda untuk menambahkan acara ke kalender Internet yang dimaksud. Misalnya, cara terbaik untuk menambahkan acara ke aplikasi Kalender dari proyek sumber terbuka Android adalah menambahkan acara ke Kalender Google pengguna melalui API GData yang sesuai.
MEMPERBARUI
Android 4.0 (API Level 14) menambahkan a
CalendarContract
ContentProvider
.sumber
Coba ini di kode Anda:
sumber
Gunakan API ini dalam kode Anda .. Ini akan membantu Anda memasukkan acara, acara dengan pengingat dan acara dengan rapat dapat diaktifkan ... Api ini berfungsi untuk platform 2.1 dan di atas Mereka yang menggunakan kurang dari 2.1 alih-alih konten: // com .android.calendar / events menggunakan konten: // kalender / acara
sumber
event.put("eventTimezone", "UTC/GMT +2:00")
dan menghilangkannyaevent.put("visibility", 3)
danevent.put("transparency", 0)
itu berfungsi dengan baikandroid.database.sqlite.SQLiteException
antriUri reminderUri = curActivity.getApplicationContext().getContentResolver().insert(Uri.parse(reminderUriString), reminderValues);
saya menggunakan kode di bawah ini, itu memecahkan masalah saya untuk menambahkan acara di kalender perangkat default di ICS dan juga pada versi kurang dari ICS
Semoga ini bisa membantu .....
sumber
Pada Android versi 4.0, API dan niat resmi tersedia untuk berinteraksi dengan penyedia kalender yang tersedia .
sumber
Untuk jaga-jaga jika seseorang membutuhkan ini untuk Xamarin di c #:
Fungsi Helper:
sumber
Kalender Google adalah aplikasi kalender "asli". Sejauh yang saya tahu, semua ponsel dilengkapi dengan versi yang diinstal, dan SDK default menyediakan versi.
Anda mungkin melihat tutorial ini untuk bekerja dengannya.
sumber
Coba ini ,
sumber
jika Anda memiliki string Tanggal yang diberikan dengan tanggal dan waktu.
untuk mis
String givenDateString = pojoModel.getDate()/* Format dd-MMM-yyyy hh:mm:ss */
gunakan kode berikut untuk menambahkan acara dengan tanggal dan waktu ke kalender
sumber
Anda harus menambahkan bendera:
atau Anda akan menyebabkan kesalahan dengan:
startActivity()
dari luar konteks Aktivitas memerlukanFLAG_ACTIVITY_NEW_TASK
sumber