android - 在 Android 中将替代短信发送器设置为默认发送器

标签 android sms android-intent

我有一个通过互联网发送短信的应用程序,我想知道如何:

1) 当用户已经默认 android 短信应用程序中输入短信并按下发送按钮时,启动我自己的“SmsSender” Activity .我想获得收件人号码和消息文本。

2) 或者当用户尝试从他的地址簿发送短信时启动我的应用程序——我会为他提供输入消息的界面。

如果用户看不到对话,我不希望在用户选择默认短信应用程序中的联系人时启动它;我想保持默认的消息应用程序正常工作。

我试过这样的代码,但没有:-(

<intent-filter>
            <action android:name="android.intent.action.SENDTO" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="sms" />
            <data android:scheme="smsto" />
</intent-filter>

另外我想知道我的应用程序是否可以与手机短信集成。


附言对不起我的英语,我是俄罗斯人。 谢谢。

最佳答案

您应该编辑 AndroidManifest.xml 并将此 intent-filter 添加到您要启动的 Activity 中:

<intent-filter>
    <action android:name="android.intent.action.SENDTO" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:scheme="sms" />
    <data android:scheme="smsto" />
</intent-filter>

当用户向特定号码发送短信时,将显示一个选择器菜单。如果她选择了您的应用程序,您的 Activity 就会开始。

关于android - 在 Android 中将替代短信发送器设置为默认发送器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4233200/

相关文章:

java - 使用现有数据库在 Android 应用程序中显示数据

android - 相机 resultCode 返回 0

android - 通过repo获取android源码

command-line - 通过短信下棋

javascript - 以编程方式读取短信收件箱 Firefox OS

机器人:首选项

java - Android SQLite 如果列等于用户名则列出所有数据 [帮助编写原始查询]

android - 是否可以在 mmssms.db 中添加一列?

安卓 : Couldn't create directory for SharedPreferences file

java - 需要一些帮助对安排每日通知的代码进行故障排除