Clearly a permission issue. Only HTC can help you/ Motorola also. Thanks and Regards, Kumar Bibek http://tech-droid.blogspot.com
On Jun 21, 1:11 pm, mike <[email protected]> wrote: > hi guys, > > i have a BroadCastReceiver which will listen to incoming calls. and > once the call is finish or users ignores the call i'm deleting the > number from the CallLog. i have tested this with HTC TATTOO and it > works fine there. > > but when i tested this with Motorola MilesTone i'm getting a exception > > this is the Exception > > 06-21 13:34:02.365: ERROR/DatabaseUtils(1337): Writing exception to > parcel > 06-21 13:34:02.365: ERROR/DatabaseUtils(1337): > java.lang.UnsupportedOperationException: Cannot delete that URL: > content://call_log/calls/442 > 06-21 13:34:02.365: ERROR/DatabaseUtils(1337): at > com.android.providers.contacts.CallLogProvider.delete(CallLogProvider.java: > 197) > 06-21 13:34:02.365: ERROR/DatabaseUtils(1337): at > android.content.ContentProvider$Transport.delete(ContentProvider.java: > 174) > 06-21 13:34:02.365: ERROR/DatabaseUtils(1337): at > android.content.ContentProviderNative.onTransact(ContentProviderNative.java: > 180) > 06-21 13:34:02.365: ERROR/DatabaseUtils(1337): at > android.os.Binder.execTransact(Binder.java:287) > 06-21 13:34:02.365: ERROR/DatabaseUtils(1337): at > dalvik.system.NativeStart.run(Native Method) > > 06-21 13:34:02.381: ERROR/AndroidRuntime(1593): Uncaught handler: > thread main exiting due to uncaught exception > 06-21 13:34:02.459: ERROR/AndroidRuntime(1593): > java.lang.UnsupportedOperationException: Cannot delete that URL: > content://call_log/calls/442 > > this is my code > > public class CallListener extends BroadcastReceiver { > private Context context; > String phonenbr; > TelephonyManager telManager; > Handler handler = new Handler(); > > @Override > public void onReceive(Context context, Intent intent) { > // TODO Auto-generated method stub > this.context = context; > telManager = (TelephonyManager) context > > .getSystemService(Context.TELEPHONY_SERVICE); > telManager.listen(new StateListener(), > PhoneStateListener.LISTEN_CALL_STATE); > > } > > class StateListener extends PhoneStateListener { > @Override > public void onCallStateChanged(int state, String > incomingNumber) { > // TODO Auto-generated method stub > // super.onCallStateChanged(state, incomingNumber); > switch (state) { > case TelephonyManager.CALL_STATE_RINGING: > break; > case TelephonyManager.CALL_STATE_IDLE: > > listeneNativeInbox(); > break; > case TelephonyManager.CALL_STATE_OFFHOOK: > > break; > } > } > } > protected void listeneNativeInbox() { > > context.getContentResolver().registerContentObserver( > CallLog.Calls.CONTENT_URI, true, new > MyInboxListener(handler)); > > // Uri Sms = Uri.parse("content://sms/inbox"); > /* > * Cursor c = context.getContentResolver().query( > * CallLog.Calls.CONTENT_URI, null, null, null, null); > */ > } > > class MyInboxListener extends ContentObserver { > > public MyInboxListener(Handler handler) { > super(handler); > // TODO Auto-generated constructor stub > } > > @Override > public boolean deliverSelfNotifications() { > // TODO Auto-generated method stub > return false; > } > > @Override > public void onChange(boolean selfChange) { > // TODO Auto-generated method stub > boolean b = false; > Uri books = > Uri.parse("content://com.sabretch.colorEyeD/SABRE"); > Log.d("Authority", books.getAuthority()); > Cursor cursor = > context.getContentResolver().query(books, null, > "Mobile" + "='" + phonenbr + "'", > null, > "category " + "DESC"); > if (cursor != null) { > if (cursor.moveToNext()) { > b = true; > } > } > Message msg = new Message(); > msg.obj = "xxxxxxxxxx"; > handler.sendMessage(msg); > Cursor cur = context.getContentResolver().query( > CallLog.Calls.CONTENT_URI, null, > null, null, > CallLog.Calls._ID + " DESC"); > cur.moveToNext(); > long threadIdIn = cur > > .getLong(cur.getColumnIndex(CallLog.Calls._ID)); > Uri uri = > ContentUris.withAppendedId(CallLog.Calls.CONTENT_URI, > threadIdIn); > if (b) { > int x = > context.getContentResolver().delete(uri, null, null); > Log.d("FFFFFFFFFASSDSSDESD", > Integer.toString(x)); > } > System.exit(0); > // } > } > } > > } > > so do you have any idea about this?? > NOTE:- works correctly in HTC tattoo but not in Motorola Milestone > > regards, > Mike -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

