android - 如何将我的应用程序设置为默认接收短信

标签 android sms message hangout

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

你有什么想法吗?非常感谢。

最佳答案

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

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

从首选项 Activity 添加 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);
                    }

关于android - 如何将我的应用程序设置为默认接收短信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28427474/

相关文章:

android - 下载 .apk 文件后打开 android 包安装程序

android - 使用 ADB shell (Android SDK) 的服务调用 isms?

delphi - 将邮件从 OutLook 拉到文件中

java - 如何通过 Android 发送 Flash(通知)短信?

java - Eclipse 样式值错误

android - 根据安卓版本加载不同的 View

java - 我可以在核心 Java 中使用什么来替代 Android 中的异步任务

javascript - 如果从短信中的链接打开站点,则在触摸之前不会触发 beforeinstallprompt

ios - 自动读取验证码并接入iOS App登录

java - 基于 AOP 的持久性、事务和消息传递示例