当前位置: 首页 > 知识库问答 >
问题:

为Android KitKat准备短信应用程序

公羊俭
2023-03-14
public class ComposeSmsActivity extends Activity {

@Override
protected void onResume() {
    super.onResume();

    final String myPackageName = getPackageName();
    if (!Telephony.Sms.getDefaultSmsPackage(this).equals(myPackageName)) {
        // App is not default.
        // Show the "not currently set as the default SMS app" interface
        View viewGroup = findViewById(R.id.not_default_app);
        viewGroup.setVisibility(View.VISIBLE);

        // Set up a button that allows the user to change the default SMS app
        Button button = (Button) findViewById(R.id.change_default_app);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent intent =
                        new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
                intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, 
                        myPackageName);
                startActivity(intent);
            }
        });
    } else {
        // App is the default.
        // Hide the "not currently set as the default SMS app" interface
        View viewGroup = findViewById(R.id.not_default_app);
        viewGroup.setVisibility(View.GONE);
    }
}

代码本身非常简单,但我无法访问Telephony.sms.getDefaultsMpackage,因为它说电话不能解析,而且我找不到任何可以解决这个问题的导入或声明。

有人能帮忙吗?

共有1个答案

耿玄裳
2023-03-14

Android.provider.telephony根本不存在(从API 18-4.3开始)。

这个类将在4.4(大概是API19)中添加,该博客文章强调了新API发布后您应该进行的更改,这样到时候您就不会感到惊讶了。

从帖子的末尾:

 类似资料:
  • 首先,我使用模拟器来测试这一点。我想用短信文本(作为参数发送)打开默认的SMS应用程序,并允许用户从那里获得控制权(以及内置的应用程序)。我使用以下代码: 当我按下按钮时,什么也没发生。我希望SMS默认应用程序打开,包含用户必须填写的文本和其他字段,然后发送消息。这是因为模拟器还是我的代码?我还在清单中指定了权限:

  • 格式限制 1、不支持全变量模板(是指无法判断当前短信的结构和使用场景); 2、营销短信内容后面需要添加退订方式,支持“TD、T、N”进行短信退订回复(营销通短信营销已默认对所有发送的短信追加 “回T退订”)。 3、鉴于特殊符号可能会导致短信出现乱码,不支持如¥ ★以及包含可通过按键录入的组合型特殊符号,如^_^&,☞,√,※。 内容限制 1、不能给非会员用户发送营销短信; 2、需严格遵守短信内容规

  • 我想知道我是否可以用非默认短信应用程序发送短信。

  • 问题内容: 我只想从Web应用程序中使用PHP发送SMS。谁能告诉我该怎么做?我需要为此做些什么? 问题答案: 我不知道这是否适用于您,但是为了省钱我做了很多次,就是在个人资料中询问用户他的载体是什么,然后尝试与匹配。本质上,许多运营商/大多数运营商都将电子邮件地址连接到电话号码,您可以轻松地将短信发送到该号码。例如,如果您拥有ATT,并且电话号码是786-262-8344,则发送至7682628

  • 问题内容: 我正在开发一个短信阻止应用程序。直到果冻豆都可以正常工作。从奇特卡特(Kitkat)到棉花糖,它不起作用。我在Google上进行了搜索,每个人都建议使用征得用户的许可,以使其成为该手机的默认短信应用。 清单文件: 我使用了此代码示例。它显示一个带有手机短信应用程序的对话框。我的应用未显示在此列表中。 现在我也想在此列表中显示我的应用程序,因此用户可以从此列表中选择我的应用程序,它将是该

  • 1. 对接条件 小能科技作为互联网客服一体化解决方案服务商,旗下的小能产品,支持企业客户全渠道对接到小能系统。 其中,本文档主要描述微信渠道对接小能系统的实施方案。 对接支持企业客户名下的微信公众号类型为: A:认证的订阅号 B:认证的服务号 (腾讯只对认证的微信公众号,开放客服接口,消息若要达到双向沟通,必须要微信的客服接口支撑)。 2. 对接规则 对接文档标准: 所有的接口开发,均