我需要插入一个短信提供商在4.4设备和我的应用程序发送一次短信登录。所以我不想看到这个登录短信发送的默认短信提供商(已发送的项目)在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);
它不起作用。有没有人能给我推荐一下满足上述要求的正确方法?
发布于 2013-11-29 13:30:19
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);
}
发布于 2014-01-15 01:24:32
您需要更改清单以包含所需的接收者。尽管你没有使用它们,但你需要定义该博客中提到的接收者,以便系统将你的应用程序视为默认的sms候选。
https://stackoverflow.com/questions/20236039
复制相似问题