有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Android 4.4.2上的java Change SMS应用程序默认设置

我会更改安卓4.4.2上的默认短信应用程序

我使用以下代码:

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

我怎样才能解决这个问题?我怎样才能要求用我的应用程序更改默认短信应用程序

我的接收人:

<receiver 安卓:name="receiver.SMSHandlerReceiver"
     安卓:permission="安卓.permission.BROADCAST_SMS" >
      <intent-filter>      
        <action 安卓:name="安卓.provider.Telephony.SMS_DELIVER" />

            </intent-filter>
        </receiver>

多谢各位


共 (2) 个答案

  1. # 1 楼答案

    I would change default sms app on Android 4.4.2

    您无法更改默认的SMS应用程序。但是,您可以使用Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT请求用户更改默认的SMS应用程序。这将在the official blog post on the SMS changes in Android 4.4中介绍

  2. # 2 楼答案

    看来,如果你想让你的应用出现在默认的短信应用设置中,你必须先让它符合条件,否则你不能将你的应用设置为默认短信应用。我也有同样的问题,所以我做了这些简单的步骤,然后我可以在设置和代码中选择我的应用程序作为默认值,这是我以前无法做到的

    所以:

    • 你必须有一个包含意向过滤器的活动,该过滤器带有ACTION_SENDTO(“android.intent.ACTION.SENDTO”)和模式sms、smsto、mms和mmsto。在你的清单文件中做。我所做的是创建一个空的活动,我不会使用这些参数

    • 同样,通过创建一个空服务,包括一个意向过滤器,其中包含ACTION_RESPOND_VIA_MESSAGE(“android.intent.ACTION.RESPOND_VIA_MESSAGE”),以及Schema、sms、smsto、mms和mmsto。此服务还必须具有“发送\回复\通过\消息”权限。您必须在清单中添加所有必需的权限

    • 使用MIME类型的应用程序/vnd创建一个空的BroadcastReceiver,包括一个带有WAP_PUSH_DELIVER_操作(“android.provider.Telephony.WAP_PUSH_DELIVER”)的意向过滤器。wap。彩信。广播接收器还必须获得广播WAP PUSH许可。您必须在清单中添加所有必需的权限

    • 创建一个空的BroadcastReceiver,包括一个带有SMS_DELIVER_操作(“android.provider.Telephony.SMS_DELIVER”)的意向过滤器。广播接收器还必须获得广播短信许可。您必须在清单中添加所有必需的权限

    重要的是要设置所有这些参数,而不要遗漏一个。一旦你完成了所有这些步骤,你的应用程序将符合条件,然后你可以将其设置为默认短信应用程序,将创建的类保留为空,并坚持使用旧的操作方式。目标是简单地将你的应用程序设置为默认,这样它就可以像以前一样完全功能化,无需修改代码