如何将我的应用程序设置为默认接收短信
How to set my application as default to receive SMS
我正在开发一个发送和接收 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 并在其中添加以下代码,首先检查它是否已经是默认的消息传递应用程序,然后打开一个屏幕,用户可以在其中更改它,否则将当前应用程序设置为默认的消息传递应用程序。
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);
}
我正在开发一个发送和接收 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 并在其中添加以下代码,首先检查它是否已经是默认的消息传递应用程序,然后打开一个屏幕,用户可以在其中更改它,否则将当前应用程序设置为默认的消息传递应用程序。
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);
}