Android 4.4短信:如何通过将我的应用程序设置为默认短信应用程序,将消息插入到Android 4.4中的短信提供商

时间:2013-11-27 07:11:30

标签: android android-4.4-kitkat

我需要在4.4设备的SMS提供程序中插入1条消息,我的应用程序发送一次短信进行登录。所以我不想在android 4.4设备中看到这个登录sms在默认的sms提供程序(已发送的项目)中发送。根据此博客found here

我们必须在将消息插入SMS提供程序之前将我们的应用程序设置为默认短信应用程序,或者为了避免将已发送消息(用于登录的1次短信)插入短信提供程序。我使用以下代码将我的应用程序设置为默认短信应用程序。

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

它不起作用。任何人都可以建议我采用上述要求的正确方法。

2 个答案:

答案 0 :(得分:0)

if (Build.VERSION.SDK_INT > 18) {
String defaultSmsPackageName = Telephony.Sms.getDefaultSmsPackage(SwippSettingsActivity.this);
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, "TEXT");
sendIntent.putExtra(Intent.EXTRA_DONT_KILL_APP, false);
if (defaultSmsPackageName != null) {
          sendIntent.setPackage(defaultSmsPackageName);
}
startActivity(sendIntent);
}

答案 1 :(得分:0)

您需要更改清单以包含所需的接收器。虽然您没有使用它们,但您需要定义该博客中提到的接收器,以便系统将您的应用视为默认的短信候选者。