gpt4 book ai didi

android - 拦截传入的 SMS 消息并修改它

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:05:29 26 4
gpt4 key购买 nike

有没有办法拦截传入的 SMS 消息,然后在将其呈现给用户之前对其进行修改?

  • 可以在 iPhone/Andriod 上本地完成吗?
  • 可以使用 PhoneGap 完成吗?
  • 可以使用 MonoTouch/Mono for Andriod 来完成吗?

如果对以上任何一个是肯定的,您能否提供一些指示?

我的首选解决方案优先顺序如下:

  1. 电话间隙
  2. 单声道
  3. 母语

先谢谢大家!!

编辑:

对于想知道这样做的目的的人来说,基本上我想根据内容在短信中放置一个词作为“标签”,所以当我查看短信时,我可以看到类似“重要:废话”的内容blah blah”,而不仅仅是“blah blah blah”。

最佳答案

试试这个-//在 list 文件中将此类注册为 SMS_RECEIVED Intent 的接收者

  public class SmsReceiver extends BroadcastReceiver {

private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";

@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(SMS_RECEIVED)) {
abortBroadcast();**this is prevent message to deliver to user**

Bundle bundle = intent.getExtras();
if (bundle != null) {
// get sms objects
Object[] pdus = (Object[]) bundle.get("pdus");
if (pdus.length == 0) {
return;
}
// large message might be broken into many
SmsMessage[] messages = new SmsMessage[pdus.length];
StringBuilder sb = new StringBuilder();
for (int i = 0; i < pdus.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[]) pdus[i]);
sb.append(messages[i].getMessageBody());
}
String sender = messages[0].getOriginatingAddress();
String message = sb.toString();
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();

SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber, null, message, null, null);//phone number will be your number.
}
}
}
}

关于android - 拦截传入的 SMS 消息并修改它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15894301/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com