[android-developers] Re: Replacing Dialer, IM, and SMS Apps
Hi, Is there a way to just change the app launched when the user presses the CALL (green) button ? TIA Shimon On Oct 14, 9:05 am, hackbod [EMAIL PROTECTED] wrote: If you were to ship your own device, you could either pre-configure the settins to already have that as the default, or simply build your own version of the OS with your own contacts app (once the source is released). On Oct 13, 4:19 pm, Rohit Mordani [EMAIL PROTECTED] wrote: What I meant is - if I were to ship a device with the replacement app as the default (out of the box), rather than confusing the user. --~--~-~--~~~---~--~~ 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] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~--~~~~--~~--~--~---
[android-developers] Re: Replacing Dialer, IM, and SMS Apps
If you were to ship your own device, you could either pre-configure the settings to already have that as the default, or simply build your own version of the OS with your own contacts app (once the source is released). On Oct 13, 4:19 pm, Rohit Mordani [EMAIL PROTECTED] wrote: What I meant is - if I were to ship a device with the replacement app as the default (out of the box), rather than confusing the user. --~--~-~--~~~---~--~~ 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] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~--~~~~--~~--~--~---
[android-developers] Re: Replacing Dialer, IM, and SMS Apps
How about replacing the contacts app with your own - Is there any way to do that? Rohit On Sep 29, 8:00 pm, Xolotl Loki [EMAIL PROTECTED] wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 2) Hidden Content Providers. The open access guarantees don't necessarily grant access to the underlying content providers that power the native applications. At the moment (this might change) access to the native mail, SMS, and IM Content Providers is not available. I figured out how to read the SMS provider: Cursor c = this.getContentResolver().query(Uri.parse(content://sms/inbox), null, null, null, null); Log.d(TAG, Read + Integer.toString(c.getCount()) + SMS messages from content ( + Integer.toString(c.getColumnCount()) + columns)); String[] cols = c.getColumnNames(); for(int i = 0; i cols.length; i++) { Log.d(TAG, Column: + cols[i]); } while(c.moveToNext()) { Log.d(TAG, c.getString(c.getColumnIndex(address)) + : + c.getString(c.getColumnIndex(person)) + : +c.getString(c.getColumnIndex(date)) + : +c.getString(c.getColumnIndex(body))); } I saw the URI content://sms/inbox after adding the receiver and listening for incoming SMS. I got the column names from the middle block of code. cheers, - -- ᛏᚠᛖᚾᚱᛁᛊᚢᛚᚠᚱᛏ ᛏᚢᛚᚠᛊᛚᛖᛁᚠᚨᚱᛏ -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla -http://enigmail.mozdev.org iEYEARECAAYFAkjhlmcACgkQNig/07RbnEvfwACfVuJbDVbkmN4254ACfGK+sj8Q GT0An3iVFc8COgtX500vO3okk0viN7AD =xsFW -END PGP SIGNATURE- --~--~-~--~~~---~--~~ 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] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~--~~~~--~~--~--~---
[android-developers] Re: Replacing Dialer, IM, and SMS Apps
Sure, the contacts provider is public, and you can handle the action that is broadcast by the phone button. Note that in -any- situation where you are replacing an app, the original application will still be there in the launcher for the user to see, what it means to replace an app is that you handle the various Intent activities etc that the built-in one does, so the user can decide to use your app instead of the built-in one. On Oct 13, 11:36 am, Rohit Mordani [EMAIL PROTECTED] wrote: How about replacing the contacts app with your own - Is there any way to do that? Rohit On Sep 29, 8:00 pm, Xolotl Loki [EMAIL PROTECTED] wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 2) Hidden Content Providers. The open access guarantees don't necessarily grant access to the underlying content providers that power the native applications. At the moment (this might change) access to the native mail, SMS, and IM Content Providers is not available. I figured out how to read the SMS provider: Cursor c = this.getContentResolver().query(Uri.parse(content://sms/inbox), null, null, null, null); Log.d(TAG, Read + Integer.toString(c.getCount()) + SMS messages from content ( + Integer.toString(c.getColumnCount()) + columns)); String[] cols = c.getColumnNames(); for(int i = 0; i cols.length; i++) { Log.d(TAG, Column: + cols[i]); } while(c.moveToNext()) { Log.d(TAG, c.getString(c.getColumnIndex(address)) + : + c.getString(c.getColumnIndex(person)) + : +c.getString(c.getColumnIndex(date)) + : +c.getString(c.getColumnIndex(body))); } I saw the URI content://sms/inbox after adding the receiver and listening for incoming SMS. I got the column names from the middle block of code. cheers, - -- ᛏᚠᛖᚾᚱᛁᛊᚢᛚᚠᚱᛏ ᛏᚢᛚᚠᛊᛚᛖᛁᚠᚨᚱᛏ -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla -http://enigmail.mozdev.org iEYEARECAAYFAkjhlmcACgkQNig/07RbnEvfwACfVuJbDVbkmN4254ACfGK+sj8Q GT0An3iVFc8COgtX500vO3okk0viN7AD =xsFW -END PGP SIGNATURE- --~--~-~--~~~---~--~~ 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] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~--~~~~--~~--~--~---
[android-developers] Re: Replacing Dialer, IM, and SMS Apps
Thanks - I figured out that the original app co-exists with the replacing app and the user has a choice to select either (kinda like windows). I like that, though it would be awesome if there was a setting to select the default app. The follow up to the previous question that I have is - how do I find out what actions/intent (that are handled by the contacts app) to override? For example, I found out that to replace the home screen you need to have the following intent filter in the manifest: intent-filter action android:name=android.intent.action.MAIN/action category android:name=android.intent.category.DEFAULT/ category category android:name=android.intent.category.HOME/category /intent-filter I found this in the groups - how do I find out the set of actions/ category/data to override for replacing the contacts app? Is there some documentation by Google on this? Rohit On Oct 13, 12:05 pm, hackbod [EMAIL PROTECTED] wrote: Sure, the contacts provider is public, and you can handle the action that is broadcast by the phone button. Note that in -any- situation where you are replacing an app, the original application will still be there in the launcher for the user to see, what it means to replace an app is that you handle the various Intent activities etc that the built-in one does, so the user can decide to use your app instead of the built-in one. On Oct 13, 11:36 am, Rohit Mordani [EMAIL PROTECTED] wrote: How about replacing the contacts app with your own - Is there any way to do that? Rohit On Sep 29, 8:00 pm, Xolotl Loki [EMAIL PROTECTED] wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 2) Hidden Content Providers. The open access guarantees don't necessarily grant access to the underlying content providers that power the native applications. At the moment (this might change) access to the native mail, SMS, and IM Content Providers is not available. I figured out how to read the SMS provider: Cursor c = this.getContentResolver().query(Uri.parse(content://sms/inbox), null, null, null, null); Log.d(TAG, Read + Integer.toString(c.getCount()) + SMS messages from content ( + Integer.toString(c.getColumnCount()) + columns)); String[] cols = c.getColumnNames(); for(int i = 0; i cols.length; i++) { Log.d(TAG, Column: + cols[i]); } while(c.moveToNext()) { Log.d(TAG, c.getString(c.getColumnIndex(address)) + : + c.getString(c.getColumnIndex(person)) + : +c.getString(c.getColumnIndex(date)) + : +c.getString(c.getColumnIndex(body))); } I saw the URI content://sms/inbox after adding the receiver and listening for incoming SMS. I got the column names from the middle block of code. cheers, - -- ᛏᚠᛖᚾᚱᛁᛊᚢᛚᚠᚱᛏ ᛏᚢᛚᚠᛊᛚᛖᛁᚠᚨᚱᛏ -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla -http://enigmail.mozdev.org iEYEARECAAYFAkjhlmcACgkQNig/07RbnEvfwACfVuJbDVbkmN4254ACfGK+sj8Q GT0An3iVFc8COgtX500vO3okk0viN7AD =xsFW -END PGP SIGNATURE- --~--~-~--~~~---~--~~ 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] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~--~~~~--~~--~--~---
[android-developers] Re: Replacing Dialer, IM, and SMS Apps
On Oct 13, 2:37 pm, Rohit Mordani [EMAIL PROTECTED] wrote: Thanks - I figured out that the original app co-exists with the replacing app and the user has a choice to select either (kinda like windows). I like that, though it would be awesome if there was a setting to select the default app. In the dialog to pick which one to use, there is a checkbox to make that selection the defaut. The follow up to the previous question that I have is - how do I find out what actions/intent (that are handled by the contacts app) to override? For example, I found out that to replace the home screen you need to have the following intent filter in the manifest: Many of these can be determined by locking at the constants for Intent and the types and constants for the contacts provider. There does need to be better documentation. --~--~-~--~~~---~--~~ 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] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~--~~~~--~~--~--~---
[android-developers] Re: Replacing Dialer, IM, and SMS Apps
What I meant is - if I were to ship a device with the replacement app as the default (out of the box), rather than confusing the user. --~--~-~--~~~---~--~~ 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] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~--~~~~--~~--~--~---
[android-developers] Re: Replacing Dialer, IM, and SMS Apps
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 2) Hidden Content Providers. The open access guarantees don't necessarily grant access to the underlying content providers that power the native applications. At the moment (this might change) access to the native mail, SMS, and IM Content Providers is not available. I figured out how to read the SMS provider: Cursor c = this.getContentResolver().query(Uri.parse(content://sms/inbox), null, null, null, null); Log.d(TAG, Read + Integer.toString(c.getCount()) + SMS messages from content ( + Integer.toString(c.getColumnCount()) + columns)); String[] cols = c.getColumnNames(); for(int i = 0; i cols.length; i++) { Log.d(TAG, Column: + cols[i]); } while(c.moveToNext()) { Log.d(TAG, c.getString(c.getColumnIndex(address)) + : + c.getString(c.getColumnIndex(person)) + : +c.getString(c.getColumnIndex(date)) + : +c.getString(c.getColumnIndex(body))); } I saw the URI content://sms/inbox after adding the receiver and listening for incoming SMS. I got the column names from the middle block of code. cheers, - -- ᛏᚠᛖᚾᚱᛁᛊᚢᛚᚠᚱᛏ ᛏᚢᛚᚠᛊᛚᛖᛁᚠᚨᚱᛏ -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkjhlmcACgkQNig/07RbnEvfwACfVuJbDVbkmN4254ACfGK+sj8Q GT0An3iVFc8COgtX500vO3okk0viN7AD =xsFW -END PGP SIGNATURE- --~--~-~--~~~---~--~~ 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] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~--~~~~--~~--~--~---
[android-developers] Re: Replacing Dialer, IM, and SMS Apps
I've found the answer to some of these questions independantly, so I'll answer myself here for the reference of others: 1) Intercepting SMS Messages. The helper strings and methods to simplify intercepting incoming SMS messages have been removed, but you can still listen for (and read) incoming messages manually: http://groups.google.co.uk/group/android-developers/msg/f7808980db6fc5cf 2) Hidden Content Providers. The open access guarantees don't necessarily grant access to the underlying content providers that power the native applications. At the moment (this might change) access to the native mail, SMS, and IM Content Providers is not available. 3) Telephony APIs. You can listen for incoming / outgoing calls but you can't interact with them. That means you can replace the dialer (fire the DIAL action to initiate the call), but you can't (yet) replace the 'in-call' screen that lets users answer and end calls. 4) Instant Messaging. There's not API to support any sort of instant messaging in the 1.0 r1 release. Cheers Reto - Professional Android Application Development http://www.amazon.com/gp/product/0470344717?tag=interventione-20 On 24 Sep, 10:55, Reto Meier [EMAIL PROTECTED] wrote: In the early days of Android it was suggested that 3rd party developers would be able to replace any of the 'native' Google applications -- including the Dialer, IM client, and SMS application. After having a look at the 1.0 SDK it seems this isn't possible for the first release. Is this the case? Can a Googler give us some feedback on exactly what's been restricted so we don't waste too much time looking for something that isn't there? :) It would also be good to know if you're planning on opening up access later. From what I can tell so far, the following is now restricted: - Receiving Intents for incoming SMS messages. - Access to the SMS, IM, mail, etc. Content Providers. - A telephony API to start, end, and manage calls. - An Instant Messaging (GTalkService) API. Specifically the ability to send / receive IM TEXT messages. There's more, but these are the main ones I can't find in 1.0 that were available in 0.9. Cheers Reto Meier Professional Android Application Developmenthttp://www.amazon.com/gp/product/0470344717?tag=interventione-20 --~--~-~--~~~---~--~~ 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] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~--~~~~--~~--~--~---