Question

I checked out the sample code for making your app the default sms client (found here), and the sample project works great on my Nexus 4 running 4.4. There is a button that when clicked, it does the following:

Intent intent = new Intent(Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Intents.EXTRA_PACKAGE_NAME, context.getPackageName());
context.startActivity(intent);

and that makes the 'change sms app' dialog appear, that allows the user to switch their default sms application.

When I run the exact same project on my Nexus 7 (2012, Wifi), the button does nothing, although I can read in Logcat that the intent starts. The same thing happens with a Nexus 7 2013, wifi model I checked.

I tried downloading some sms app from the market and the exact same thing happens in all of them. They work great in my N4, no luck in my N7.

Anyone facing the same issue? Did they cut out the ability to write messages to devices that are unable to send texts as a whole?

Edit: Just noticed that the Telephony documentation writes:

Note: These APIs are not available on all Android-powered devices. If your app depends on telephony features such as for managing SMS messages, include a element in your manifest that declares the "android.hardware.telephony" hardware feature. Alternatively, you can check for telephony availability at runtime using either hasSystemFeature(PackageManager.FEATURE_TELEPHONY) or getPhoneType().

So, I'm guessing that if the device doesn't have the above feature it cannot 'manage SMS messages' (be the default SMS app).

Was it helpful?

Solution

It seems that sms no longer works on the Nexus 7 3G if you upgrade to Android 4.4.

In the past, some people have been able to use sms on their tablets by downloading and installing a third party sms app . Even though there is no stock messaging app with the ROM (and AFAIK, this is not an official feature), this has generally worked.

However, Android 4.4 KitKat on the Nexus 7 3G takes away this feature.

In Android 4.4, a messaging app must be set as the "default sms app" so it can be allowed to save new messages to the phone's message database. In other words, a messaging app must be the default sms app in order to operate fully.

In the Nexus 5 (and Android emulators), there is a setting Settings » ... » Wireless » Default sms app which allows you to choose your default sms app.

In the Nexus 7 3G, this setting DOES NOT EXIST.

It seems that the "default sms app" is not supported on the Nexus 7. In other words, you cannot set an app to be the default sms app. That means it is not possible to use an sms app.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top