I have created a custom Calendar in android, kept in sync with a remote server via SyncAdapter using a custom Account with a custom AccountType.
The sync works fine and my app on the device has an activity that allows the user to insert edit and delete events in my custom calendar.
The only "problem" is the usability,
since the user wants to use the standard calendar app present on the device, because he's used to it's interface, etc.
Actually when I open my events from the standard calendar app, I can see the details of the event but there is no edit or delete function available.
In order to edit such appointments the user must close the standard calendar app, open my app (which should provide a list of the events and then edit them.)
Is it possible to let the system know that there is my App on the device with a specific Activity that is able to perform operations like edit or delete on the events belonging to my custom calendar which has a specific account type ?
Any Idea on how to achieve this?
Thanks in advance.
Related
I made an android application that stores events in the calendar of a user's smartphone. For example, through my app, the user creates a specific event like a conference meeting and then clicks on the button "Add to Calendar". My app then sends the user to the Calendar application to perform the desired operation (adding the event to the calendar). After they're done, they're returned to my app.
Now, I want to retrieve the specific event from the calendar created through my app.
I was thinking about getting the EVENT_ID of each event as the user adds it to the calendar and saving it in a file. I then retrieve the events from the calendar using the ids previously saved in the file. I don't know if this is good practice.
There is also the possibility that the user deletes an event through his calendar application.
So, how can I retrieve the specific events created by my application from a calendar?
Thanks.
Is there a way to fill out the calendar for Droid 4.0 without using the built in form?
For example, I created my own form where the user fills out, and upon a button press, I want it to add the events to the calendar.
If that is not possible, can I somehow edit the built in form?
Currently, my program fills out my form, saves all the variables, and puts it in the default form. Thus the user has to click the submit button twice in order to register an event.
Starting with API 14 (Honeycomb), you can use CalendarProvider to read and write calendar events directly.
You will obviously need to set the proper permissions in your manifest (android.permission.READ_CALENDAR and android.permission.WRITE_CALENDAR).
Sadly, this is not supported on previous android versions...
Here is the official documentation
I am new at android this, so this might sound a bit confusing..
i am making an app that requires to have calendars showing events in week, day and month views (like google calendar). I have implemented this is a testing version but i want to change the implementation to make it more flexible. currently the event are stored in database and are edited and used in various activities in the app. Can i have android manage the events in it's calendar? but i would still need to be able to manipulate it from the app and store extra info other than the time and date and description. These extra info will be used for calculations. We also need to have a calendar in the app. Can we retrieve the events specific to the app for doing all this?
This tutorial might be of help.
Background: I am working on an Android Honeycomb (v3.0) application that has a requirement of communicating with the Google Calendar API. I would like to allow my application to access a particular Google account's Calendar data in order to read and create events. I have figured out how to to this through the help of this tutorial and this thread that I have previously posted on stackoverflow.
My requirements: I would like to allow a user to add guests to the events. There are two types of guests: people and (meeting) rooms. I know how to add people as guests to an event, but I have no idea how to add rooms. The way room invitations are supposed to work are as follows:
1) Room is added to the event
2) The event is created
3) Room automatically responds to the invitation by either:
Accepting the invitation to the event and displaying it on the room's own calendar
Rejecting the invitation
The screenshot below displays how the Google Calendar in-browser UI handles this:
As you can see, I have added room 109 as a guest. If room 109 is available (which it is, because only available rooms are shown), it will accept the event invitation and add the event to its own calendar.
My problem: I have learned that I can check the free/busy times of a particular calendar by using the Google Calendar API as described here. However, I am not sure whether there is a special procedure for inviting the room to be a location for the event (see the "Where" textbox in the screenshot). Does anyone have some suggestions? Thank you very much for your help!
I have figured out the solution - a room can simply be invited by including its email address into the guest list. The room will then automatically respond to the request. I will have to check whether the room is available before sending it the request to warn the user that the room cannot be reserved if a reservation is already present for that time.
i have an application in which i need to sync the events that i get from an xml to the default calendar provided in the users phone.
for the above i have referred this tutorial.But over here the first it is required to get the id and name of all the available calendars in the users phone... i don't know the id and name of the default calendar in the users phone....which calendar should i use to put events in?
i am not putting the code here as the code is present in the link given.
thank you in advance.
You can't know ahead of time. There is no system setting for the default calendar. You must account for this in your application by allowing the user to select the calendar or coming up with your own way of determining the "default".
Be careful not to rely on the persistence of any calendar because if they are Google calendars they will come and go with corresponding changes in the cloud.