i'm developing an application to send and receive SMS. I want to add the option to set my application as default like Hangout of Google:
Do you have an ideas? Thanks a lot.
i'm developing an application to send and receive SMS. I want to add the option to set my application as default like Hangout of Google:
Do you have an ideas? Thanks a lot.
How to set your app as default messaging app?
Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, YOUR_PACKAGE_NAME);
How to check if your app is default messaging app?
@TargetApi(Build.VERSION_CODES.KITKAT)
public static boolean isDefaultSmsApp(Context context) {
return context.getPackageName().equals(Telephony.Sms.getDefaultSmsPackage(context));
}
From the preference activity add OnPreferenceClickListener and add the following code inside it which first check if it is already a default messaging app, then opens a screen where the user can change it else set the current app as the default messaging app.
if (isDefaultSmsApp(getActivity())) {
startActivityForResult(new Intent(Settings.ACTION_WIRELESS_SETTINGS), 0);
} else {
final String packageName = getActivity().getPackageName();
Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, packageName);
startActivityForResult(intent, 0);
}