【问题标题】:Android 4.4 SMS: How to insert message into SMS provider in android 4.4 by setting my app as default sms appAndroid 4.4 SMS:如何通过将我的应用程序设置为默认短信应用程序将消息插入 android 4.4 中的 SMS 提供程序
【发布时间】:2013-11-27 07:11:30
【问题描述】:

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

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

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

它不工作。任何人都可以建议我满足上述要求的正确方法。

【问题讨论】:

标签: android android-4.4-kitkat


【解决方案1】:
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);
}

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-02
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      • 2016-03-10
      • 1970-01-01
      • 1970-01-01
      • 2015-08-08
      相关资源
      最近更新 更多