如何阻止我的应用程序在默认android消息应用程序中存储发送的短信?
很抱歉,如果这个问题已经得到了回答,但我在任何地方都找不到它,我已经在谷歌上搜索了两天的答案 我正在创建一个应用程序,可以从预定义的数字列表发送文本消息。当我发送消息时,它们将存储在默认消息应用程序中。有没有一种方法可以阻止这种情况发生,因为如果用户发送300条消息,他们将获得300个名称以及在默认消息应用程序中发送的内容 我使用的代码是:如何阻止我的应用程序在默认android消息应用程序中存储发送的短信?,android,smsmanager,Android,Smsmanager,很抱歉,如果这个问题已经得到了回答,但我在任何地方都找不到它,我已经在谷歌上搜索了两天的答案 我正在创建一个应用程序,可以从预定义的数字列表发送文本消息。当我发送消息时,它们将存储在默认消息应用程序中。有没有一种方法可以阻止这种情况发生,因为如果用户发送300条消息,他们将获得300个名称以及在默认消息应用程序中发送的内容 我使用的代码是: public void sendMessage(String number, ArrayList<String> message) {
public void sendMessage(String number, ArrayList<String> message) {
String _messageNumber = number;
ArrayList<String> messageText = message;
SmsManager sms = SmsManager.getDefault();
sms.sendMultipartTextMessage(_messageNumber, null, messageText, null, null);
}d
public void sendMessage(字符串编号,ArrayList消息){
字符串_messageNumber=number;
ArrayList messageText=消息;
SmsManager sms=SmsManager.getDefault();
sms.sendMultipartTextMessage(_messageNumber,null,messageText,null,null);
}d
不会:
“注意:从Android 4.4(API级别19)开始,如果且仅当某个应用未被选为默认SMS应用时,系统会自动将使用此方法发送的消息写入SMS提供商(默认SMS应用始终负责将其发送的消息写入SMS提供商)。”从技术上讲,默认消息应用程序不存储任何内容。它只是从你手机的数据库中读取信息。因此,它会盲目地读取所有消息并将其显示给您。你不能阻止应用程序这样做。因此,一种方法是创建自己的消息数据库。只要把信息发给你想要的人就行了。稍后将整个数据复制到您的自定义数据库,并从默认数据库中删除这些消息。无法真正看到您在哪里使用线程。。。你的问题我不太清楚。你的代码可以在一行中恢复:public void sendMessage(String number,ArrayList message){smsmsmsmanager.getDefault().sendMultipartTextMessage(number,null,message,null,null);}当我说线程时,我指的是普通短信应用程序中的条目。如果我的用户想向300人发送短信,用户将在普通短信应用程序中收到300条。我相信这只适用于文本短信,而不是基于端口的短信。任何需要向另一部手机上的应用发送私人短信的应用都应该使用基于端口的。否则,应将其发布到sms数据库