Open Signal - Settings - SMS and MMS - Click SMS Enabled
Signal Opens the wrong settings page in order to switch to a different SMS app.
The correct settings page for Kitkat is in Settings - Apps - Default Apps
As of Android N the correct Page is in Settings - Apps - Advanced - Configure Apps Page
Nexus 6P
Android N Preview 4 Build NPD56N
Signal Version 3.16.0
Now the application is trying to direct user to default sms app screen, when he tries to switch off Signal as SMS app. It works for Kitkat and Lollipop users, but in the Marshmallow and N, this option is under Setting/Apps/Configure/Default apps. Third-party application cannot open this screen in Marshmallow due to absence of API, so we need to lead the user the most close to it(application settings).
@hidekido Unfortunately the screen it redirects to is the Wireless & Networks page which is not anywhere close to the correct settings page.
To set Signal as default SMS/MMS app Signal should be using
String defaultSmsApp = Telephony.Sms.getDefaultSmsPackage(context);
And to switch back to the previous set default SMS/MMS app then save the Default from step first code
andIntent intent = new Intent(context, Sms.Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Sms.Intents.EXTRA_PACKAGE_NAME, defaultSmsApp);
startActivity(intent);
Information from Google Dev Blog
https://android-developers.blogspot.com/2013/10/getting-your-sms-apps-ready-for-kitkat.html?m=1
This issue is related to #5373.
@Ste4thOverride, I don't think it's a good idea to "switch back to the previous set default app". In the blog post you mentioned time between those switches is measured in minutes (if not seconds). Consider those steps:
@FeuRenard That's a totally different issue regarding a crash and that was already patched.
@ghuron The option I mentioned is only one possible option the team can choose. The Signal app is trying to change SMS apps by attempting to open a system settings page. The correct method would be the proper system intent code to change sms apps.
They are clearly using the proper code for setting Signal as the default SMS app no issue there.
The only issue is when Signal is already the default SMS app I don't know believe they are using the correct code. It should not be linking to settings but display the system dialog box that list the SMS applications.
@Ste4thOverride, signal behavior in 3.16.0 is not correct for Android M, N and probably all future versions. But I don't believe there is a standard way to open list of candidates for default sms app. All public "settings" intents are described here. @hidekido seems to be correct in #5598 using ACTION_WIRELESS_SETTINGS for K and L, ACTION_MANAGE_APPLICATIONS_SETTINGS for M and MANAGE_DEFAULT_APPS_SETTINGS for N and all future versions
@ghuron
The only apps I have tested that I have seen use the list method is Google Messenger, Hangouts, and Facebook Messenger. Most apps I have used don't have an option to change the SMS app within the app. They might have simply written code that list applications that use a certain intent.
The following link has some code examples. http://www.programcreek.com/java-api-examples/index.php?api=android.provider.Telephony
Summary:
Issue exists on Android 6 & 7. Signal currently points to the place where the setting used to be on Android 5 (and potentially lower).
Said in another way: For each of these 3 Android versions, the correct location for this setting is a different one.
The correct setting pages are on
The same problem on Android 8.
GitHub Issue Cleanup:
See #7598 for more information.
Most helpful comment
Summary:
Issue exists on Android 6 & 7. Signal currently points to the place where the setting used to be on Android 5 (and potentially lower).
Said in another way: For each of these 3 Android versions, the correct location for this setting is a different one.
The correct setting pages are on