Great that you liked the idea.

In fact, this would be useful for more than one application, so one
small background service could actually keep track of changes for
several applications. In this general sense, it would eventually be
interesting for our project as well (OpenIntents - 
http://code.google.com/p/openintents/
).

Some caveats:
* Whenever your service crashes or is stopped by the system or
whenever the phone is rebooted, you probably can not be sure that no
fields have changed in the mean-time, so then a full scan is necessary
anyway.
* Is it possible to get a hash of the whole database file, like an
md5? Would the system allow this? Then one would only have to rescan
the database if the hash changed while the service was off.

Peli


On Mar 27, 4:16 am, "Dexter's Brain" <[EMAIL PROTECTED]> wrote:
> Ok...this seems to be the only option to me now......I LL DO
> THAT.....:-)
>
> On Mar 27, 5:20 am, Peli <[EMAIL PROTECTED]> wrote:
>
>
>
> > > You could use a content observer, but this would require your app
> > > always running to monitor for changes.
>
> > So one could probably write a lightweight background service that uses
> > a content observer to constantly monitor for changes, and notifies the
> > starting app only of those fields that have changed in the meantime.
>
> > Of course this effort would only make sense if the contact list is
> > long, and the app is used frequently...
>
> > Peli
>
> > > I'm not sure of a solution off-hand besides updating your list when
> > > your application starts.  We deliberately decided to not support
> > > having apps launched to be notified when data in a content provider
> > > changes, because that can quickly lead to bogging down the system as
> > > it launches a bunch of apps each time a piece of data changes.
>
> > > On Mar 26, 10:42 am, Peli <[EMAIL PROTECTED]> wrote:
>
> > > > Could a ContentObserver be registered for cases like 
> > > > these?http://code.google.com/android/reference/android/database/ContentObse......)
>
> > > > Peli
>
> > > > On Mar 26, 6:02 pm, "Dexter's Brain" <[EMAIL PROTECTED]> wrote:
>
> > > > > ok...Let me tell you what i wanted to do....I have a local file that
> > > > > has information about all the contacts on the phone. And my
> > > > > application uses this local file and not the phone book data
> > > > > directly....
>
> > > > > So I wanted that, whenever a new contact is added or an old one is
> > > > > deleted, I should run a program that would update this local file .
> > > > > But this seems to be impossible right now if there's no intent for
> > > > > this. I will have to do a check for changes in the phone book and
> > > > > update my local file, everytime my application starts....Thats a bit
> > > > > of overhead on my app....and will also affect the startup time...
>
> > > > > hackbod wrote:
> > > > > > No, it has nothing to do with writing a contacts provider.  The
> > > > > > provider is the back-end data; an activity is the user interface.  
> > > > > > You
> > > > > > just write a new activity that operates on the existing content
> > > > > > provider.
>
> > > > > > On Mar 26, 3:24 am, Diego Torres Milano <[EMAIL PROTECTED]> wrote:
> > > > > > > If you want to write your own activity implementing those 
> > > > > > > actions, how
> > > > > > > would you do that ?
> > > > > > > Implementing a new whole ContactsProvider ?
> > > > > > > If you only want to replace, say INSERT ?
> > > > > > > How your new ContactsProvider can coexist with the standard one 
> > > > > > > if you
> > > > > > > want to extend its functionality ?
>
> > > > > > > On Mar 26, 7:35 am, hackbod <[EMAIL PROTECTED]> wrote:
>
> > > > > > > > The android.intent.action.INSERT and android.intent.action.VIEW
> > > > > > > > actions are not broadcasts, they are actions for starting 
> > > > > > > > activities
> > > > > > > > to show a UI to insert a new entry, or view an existing entry,
> > > > > > > > respectively.  Thus you don't register for them with a 
> > > > > > > > <receiver>, you
> > > > > > > > launch them with startActivity().  (You can also write your own
> > > > > > > > activity implementing those actions to replace the standard UI, 
> > > > > > > > but
> > > > > > > > that's probably not what you are wanting.)
>
> > > > > > > > On Mar 25, 8:35 pm, "Dexter's Brain" <[EMAIL PROTECTED]> wrote:
>
> > > > > > > > > Thanks Megha...But, will it be provided in the subsequent 
> > > > > > > > > releases???
>
> > > > > > > > > Can you think of a situation where we would need this???
>
> > > > > > > > > Dexter.
>
> > > > > > > > > On Mar 26, 3:15 am, "Megha Joshi" <[EMAIL PROTECTED]> wrote:
>
> > > > > > > > > > Hi,
>
> > > > > > > > > > I don't think that the intents for contacts added and 
> > > > > > > > > > contacts deleted
> > > > > > > > > > intents are broadcasted.
> > > > > > > > > > So you cannot receive these intents.
>
> > > > > > > > > > Thanks,
> > > > > > > > > > Megha
>
> > > > > > > > > > On Mon, Mar 24, 2008 at 9:49 AM, Dexter's Brain <[EMAIL 
> > > > > > > > > > PROTECTED]>
> > > > > > > > > > wrote:
>
> > > > > > > > > > > Hello All,
>
> > > > > > > > > > > I have an Intent Receiver which I will be triggered when 
> > > > > > > > > > > a contact is
> > > > > > > > > > > added or deleted.
>
> > > > > > > > > > > My reciever properties in the androidmanifest.xml are as 
> > > > > > > > > > > follows.
>
> > > > > > > > > > >          <receiver android:name=".ContactAdded">
> > > > > > > > > > >                <intent-filter>
> > > > > > > > > > >                        <action 
> > > > > > > > > > > ndroid:name="android.intent.action.INSERT"
> > > > > > > > > > > />
> > > > > > > > > > >                        <action 
> > > > > > > > > > > android:name="android.intent.action.VIEW"
> > > > > > > > > > > />
> > > > > > > > > > >                </intent-filter>
> > > > > > > > > > >        </receiver>
>
> > > > > > > > > > > And in my Intent Reciever class, I have the following 
> > > > > > > > > > > lines of code.
>
> > > > > > > > > > > public class ContactAdded {
> > > > > > > > > > >        public void onReceiveIntent(Context context, 
> > > > > > > > > > > Intent intent){
> > > > > > > > > > >                try{
> > > > > > > > > > >                        Log.i("Received Intent", 
> > > > > > > > > > > intent.getAction());
> > > > > > > > > > >                }
> > > > > > > > > > >                catch(Exception e){
> > > > > > > > > > >                        Log.i("Exception in 
> > > > > > > > > > > Intent",e.getLocalizedMessage
> > > > > > > > > > > ());
> > > > > > > > > > >                }
> > > > > > > > > > >        }
> > > > > > > > > > > }
>
> > > > > > > > > > > Now, when I try to add or delete a contact, I can see in 
> > > > > > > > > > > the LogCat
> > > > > > > > > > > that the required Intent is broadcast, but I don't see my 
> > > > > > > > > > > message
> > > > > > > > > > > "Received Intent" in the LogCat which I have coded in my 
> > > > > > > > > > > reciever
> > > > > > > > > > > class.
>
> > > > > > > > > > > Am I doing something wrong???
>
> > > > > > > > > > > Dexter.- Hide quoted text -
>
> > > - Show quoted text -- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
Announcing the new M5 SDK!
http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to