如何将我的应用程序设置为默认接收SMS

时间:2015-02-10 08:54:34

标签: android sms message hangout

我正在开发一个发送和接收短信的应用程序。我想添加一个选项,将我的应用设置为默认设置,例如Google的环聊:

你有想法吗?非常感谢。

1 个答案:

答案 0 :(得分:8)

如何将您的应用设置为默认消息传递应用?

Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, YOUR_PACKAGE_NAME);

如何检查您的应用是否为默认短信应用?

@TargetApi(Build.VERSION_CODES.KITKAT)
public static boolean isDefaultSmsApp(Context context) {
    return context.getPackageName().equals(Telephony.Sms.getDefaultSmsPackage(context));
}

从首选项活动添加OnPreferenceClickListener并在其中添加以下代码,首先检查它是否已经是默认消息传递应用程序,然后打开一个用户可以更改它的屏幕,否则将当前应用程序设置为默认消息传递应用程序。 Confirmation screen user will get

 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);
                    }