Search Results

Search found 13 results on 1 pages for 'contentobserver'.

Page 1/1 | 1 

  • Determine the ContentObserver

    - by tommieb75
    I have this content observer that is watching on the Call Log: public class monitorCallLog extends ContentObserver{ private static final String TAG = "monitorCallLog"; public monitorCallLog(Handler handler) { super(handler); // TODO Auto-generated constructor stub } @Override public boolean deliverSelfNotifications() { return false; } @Override public void onChange(boolean selfChange){ Log.v(TAG, "[onChange] *** ENTER ***"); super.onChange(selfChange); // Code goes in here to handle the job of tracking.... Log.v(TAG, "[onChange] *** LEAVE ***"); } } Now... how can I determine the nature of the change on this URI content://call_log/calls? I want to check on it if a deletion has occurred on the said URI... but there is no way of knowing...this seems to apply on a query/delete/insert/update on said URI that triggers the onChange method.... any tips/suggestions?

    Read the article

  • Android Persistent ContentObserver

    - by Lucas Stark
    Are content observers persistent in Android? If I create a content observer in an activity, will that observer continue to run until I remove the observer. Basically I am creating a service for SMS, where on receive and on send I post the SMS out to a web service, so I can check my messages with out having my phone. If the content observer is tied to the Activity's life, how can I create a ContentObserver that will always receive notifications on content:/sms/

    Read the article

  • Android: ContentObserver selfChange

    - by mattprecious
    Hi, In the ContentObserver class, the method onChange is passed a boolean selfChange that's defined as: "true if the update was caused by a call to commit on the cursor that is being observed." What's the proper way to update the cursor so that selfChange is set to true? My current code doesn't reference the cursor at all for an update and selfChange is always false as a result. ContentValues values = new ContentValues(); values.put("date", date.getTime()); getContentResolver().update(URI, values, "_id = " + id, null);

    Read the article

  • how to listen for changes in Contact Database

    - by hap497
    Hi, I am trying to listen for any change in the contact database. So I create my contentObserver which is a child class of ContentObserver: private class MyContentObserver extends ContentObserver { public MyContentObserver() { super(null); } @Override public void onChange(boolean selfChange) { super.onChange(selfChange); System.out.println (" Calling onChange" ); } } MyContentObserver contentObserver = new MyContentObserver(); context.getContentResolver().registerContentObserver (People.CONTENT_URI, true, contentObserver); But When I use 'EditContactActivity' to change the contact database, My onChange function does not get called.

    Read the article

  • Reg : Contact changes in Android

    - by Laxman
    Hi, I am using ContentObserver on contacts. But here my problem is atleast once i have to launch my application other wise i am unable to get notification chages. My code like this ContactsContentObserver cco = new ContactsContentObserver(handler); ContentResolver contentResolver = getContentResolver(); contentResolver.registerContentObserver(RawContacts.CONTENT_URI, true, cco); } private class ContactsContentObserver extends ContentObserver { public ContactsContentObserver(Handler h) { super(h); } public void onChange(boolean selfChange) { System.out.println("##########SOMEBODAY CHANGED ANYTHING AT THE CONTACTS"); Toast.makeText(getApplication(),"####Updated####",Toast.LENGTH_LONG).show(); } .... Adv thanks. u can contact on [email protected]

    Read the article

  • Add Dynamic ListView Row

    - by soclose
    Hi, I could intercept ContentObserver changes at any time. In these time, I'd like to add a dynamic listview row with or without opening my application but i don't know how to implement it. Please share me some hints. Thank you.

    Read the article

  • Android - Redirect sending of SMS message

    - by Donal Rafferty
    I currently use a ContentObserver to listen for changes in the SMS ContentProvider and tell my application whether a message has been sent or received. Upon getting notification that a message is being sent I would like to present the user the option to send that SMS normally over GSM/CDMA or if connected to Wifi to send the SMS over an ip connection. I am aware of how to present my own application as an option to create and send an SMS when a user clicks on a contacts information and "Send SMS" but this is not what I want. I want the user to be able to use the native or a 3rd party SMS application and when they try to send an SMS present them with a dialog screen giving them the option to send the SMS in whichever direction they want. So is it possible that once I get notified an SMS is being sent to pause it, allow the user to pick the desired route to send it and then change the sms from being sent over GSM/CDMA to being sent using a protocol over IP if required?

    Read the article

  • Detecting new MMS (Android 2.1)

    - by Asahi
    I'd like to recognize arrival of new MMS msg (after it is downloaded to inbox). I am doing the following: private MMSContentObserver mMmsCO; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); h = new Handler(); mMmsCO = new MMSContentObserver(h); getContentResolver().registerContentObserver (Uri.parse("content://mms"), true, mMmsCO); } where private class MMSContentObserver extends ContentObserver { public MMSContentObserver(Handler h) { super(h); } @Override public boolean deliverSelfNotifications() { return false; } @Override public void onChange(boolean selfChange) { super.onChange(selfChange); } } However, onChange is not getting called. What am I missing? Thanks in advance.

    Read the article

  • Android - Querying the SMS ContentProvider?

    - by Donal Rafferty
    I currently register a content observer on the following URI "content://sms/" to listen out for incoming and outgoing messages being sent. This seems to work ok and I have also tried deleting from the sms database but I can only delete an entire thread from the following URI "content://sms/conversations/" Here is the code I use for that String url = "content://sms/"; Uri uri = Uri.parse(url); getContentResolver().registerContentObserver(uri, true, new MyContentObserver(handler)); } class MyContentObserver extends ContentObserver { public MyContentObserver(Handler handler) { super(handler); } @Override public boolean deliverSelfNotifications() { return false; } @Override public void onChange(boolean arg0) { super.onChange(arg0); Log.v("SMS", "Notification on SMS observer"); Message msg = new Message(); msg.obj = "xxxxxxxxxx"; handler.sendMessage(msg); Uri uriSMSURI = Uri.parse("content://sms/"); Cursor cur = getContentResolver().query(uriSMSURI, null, null, null, null); cur.moveToNext(); String protocol = cur.getString(cur.getColumnIndex("protocol")); if(protocol == null){ Log.d("SMS", "SMS SEND"); int threadId = cur.getInt(cur.getColumnIndex("thread_id")); Log.d("SMS", "SMS SEND ID = " + threadId); Cursor c = getContentResolver().query(Uri.parse("content://sms/outbox/" + threadId), null, null, null, null); c.moveToNext(); int p = cur.getInt(cur.getColumnIndex("person")); Log.d("SMS", "SMS SEND person= " + p); //getContentResolver().delete(Uri.parse("content://sms/outbox/" + threadId), null, null); } else{ Log.d("SMS", "SMS RECIEVE"); int threadIdIn = cur.getInt(cur.getColumnIndex("thread_id")); getContentResolver().delete(Uri.parse("content://sms/outbox/" + threadIdIn), null, null); } } } However I want to be able to get the recipricant and the message text from the SMS Content Provider, can anyone tell me how to do this? And also how to delete one message instead of an entire thread?

    Read the article

  • Possibility of a custom Contacts field with a set list of values and Contacts lookup performance

    - by areyling
    I'm pretty sure it's not viable to do what I'd like to based on some initial research, but I figured it couldn't hurt to ask the community of experts here in case someone knows a way. I'd like to create a custom field for contacts that the user is able to edit from the main Contacts app; however, the user should only be allowed to select from a list of four specific values. A short list of string values would be ideal, but an int with a min/max range would suffice. I'm interested in knowing if it's possible either way, but also wondering if it make sense to go this route performance wise. More specifically, would it be better to look up a contact (based on a phone number) each time a call or SMS message is received or better to store my own set of data (consisting of name, numbers, and the custom field) and just syncing contact info in a thread every so often? Or syncing contacts the first time the app is run and then registering for changes using ContentObserver? Here is a similar question with an answer that explains how to add a custom field to a contact. Thanks in advance.

    Read the article

  • Android lifecycle: Fill in data in activity in onStart() or onResume()?

    - by pjv
    Should you get data via a cursor and fill in the data on the screen, such as setting the window title, in onStart() or onResume()? onStart() would seem the logical place because after onStart() the Activity can already be displayed, albeit in the background. Notably I was having a problem with a managed dialog that made me rethink this. If the user rotates the screen while the dialog is still open, onCreateDialog() and onPrepareDialog() are called between onStart() and onResume(). If the dialog needs to be based on the data you need to have the data before onResume(). If I'm correct about onStart() then why does the Notepad example give a bad example by doing it in onResume()? See http://developer.android.com/resources/samples/NotePad/src/com/example/android/notepad/NoteEditor.html NoteEditor.java line 176 (title = mCursor.getString...). Also, what if my Activity launches another Actvity/Dialog that changes the data my cursor is tracking. Even in the simplest case, does that mean that I have to manually update my previous screen (a listener for a dialog in the main activity), or alternatively that I have to register a ContentObserver, since I'm no longer updating the data in onResume() (though I could update it twice of course)? I know it's a basic question but the dialog only recently, to my surprise, made me realize this.

    Read the article

  • Chat app vs REST app - use a thread in an Activity or a thread in a Service?

    - by synic
    In Virgil Dobjanschi's talk, "Developing Android REST client applications" (link here), he said a few things that took me by surprise. Including: Don't run http queries in threads spawned by your activities. Instead, communicate with a service to do them, and store the information in a ContentProvider. Use a ContentObserver to be notified of changes. Always perform long running tasks in a Service, never in your Activity. Stop your Service when you're done with it. I understand that he was talking about a REST API, but I'm trying to make it fit with some other ideas I've had for apps. One of APIs I've been using uses long-polling for their chat interface. There is a loop http queries, most of which will time out. This means that, as long as the app hasn't been killed by the OS, or the user hasn't specifically turned off the chat feature, I'll never be done with the Service, and it will stay open forever. This seems less than optimal. Long question short: For a chat application that uses long polling to simulate push and immediate response, is it still best practice to use a Service to perform the HTTP queries, and store the information in a ContentProvider?

    Read the article

1