Android Studio手机来指定短信就发出震动和铃声?如何编程?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio手机来指定短信就发出震动和铃声?如何编程?相关的知识,希望对你有一定的参考价值。

正在做一个监控短信的APP,如果手机收到包含特定内容的短信,无论APP是否打开或手机是否处于屏幕解锁状态,手机都会发出铃声和震动,测试了多次,未成功?哪位高手可否给予指点?谢谢!
public class SMSReceiver extends BroadcastReceiver
Vibrator vibrator;
@Override
public void onReceive(Context context, Intent intent)

if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED"))
Bundle bundle = intent.getExtras();

Object messages[] = (Object[]) bundle.get("pdus");
SmsMessage smsMessage[] = new SmsMessage[messages.length];
for (int n = 0; n < messages.length; n++)
smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);

showToast(context, "短信内容: " + smsMessage[0].getMessageBody());
if(smsMessage[0].getMessageBody().contains("温度高"))

vibrator = (Vibrator)this.getSystemService(this.VIBRATOR_SERVICE);
long[] patter = 1000, 2000, 1000, 2000;
vibrator.vibrate(patter, -1);


打开手机设置,再点击铃声设置,选择电话铃声,信息铃声,闹钟铃声,根据你的喜好设置你想要的铃声。 参考技术A 如果你手机不需要项链儿,喝了真懂。也可以把它弄小一点儿。你也可以把声音关上吧。 参考技术B 测试的时候进入了这个onReceive方法没?追问

应该是没有进入,振动器就没有工作,振动器是不是必须写在activity中才可以?onReceive方法可否也在activity中调用?如何调用呢?我只有C的基础,java不行呀,谢谢!

追答

先搞定第一步,收到短信后SMSReceiver收到通知,我记得是要注册一个action, 另外看一下权限申请通过没,是否需要动态申请权限

为什么短信链接总是被拦截?应该如何避免拦截?

“为什么我的短信链接总是被拦截?”

短信链接被拦截怎么办

一、短信链接为什么会被拦截

短信链接或者短信被拦截,这种事已经见怪不怪了(我是一个见过世面的缩链),我们从两个方向出发来讨论。

1、短信本身被拦截

拦截场景:发出的短信被拦截,用户接收不到信息。

短信被拦截,链接就会被拦截,这是牵一发动全身的事儿。为什么短信会被拦截?这就要从用户说起。现在很多手机都会自带管家系统,一般管家系统里面都有一个垃圾短信的拦截功能,如果你发的短信内容正好触发了拦截功能的机制,被拦截也就很正常了。

除了自动拦截之外,很多年轻的用户还会自己设置关键词,设置了之后,一旦短信里出现相关的词,也会被拦截。

但俗话说得好,你有你的张良计,我有我的过墙梯。

预防短信被拦截,最简单有效的方法就是替换关键词,比如会员改成會員,新品改成新款,诸如此类。

有很多人可能会说,我的短信没有被拦截,只是短信链接打不开了,这种情况怎么办呢?别着急,接下来继续说第二种情况。

2、短信未被拦截,链接被拦截

拦截场景:短信成功发出,用户成功接收,但是链接却打不开……

链接被拦截的原因其实并不复杂,甚至比短信本身被拦截更容易分析。之前我们提供过一篇推文:《为什么我的短链推广没有效果》,里面详细说了短链推广没有效果的原因,有兴趣的可以看看。

短信链接被拦截,首先要确定被拦截的原因。

二、短信链接被拦截的原因

1、短信链接内容违法违规

目前在短信链接这一块监管得越来越严格,如果你的短信链接涉及到违法违规,被拦截也就不出奇了。

2、短信链接过长

有些推广者发出去的链接很长,长链接被屏蔽的概率很大,即便是没被拦截,绝大多数用户一般也不敢点击,推广效果差也就意料之中了。

3、使用的共享域名

很多短信营销使用者本身是正规的,但因为使用的是共享域名,所以导致被拦截、封禁。何谓共享域名?

共享域名=多人使用同一个域名,当这个域名的其中一个使用者出现了违规行为,其他用这个域名的使用者也将会受到牵连,导致无法再使用这个域名。

三、如何解决短信链接被拦截

要解决短信链接容易被拦截的方法也很简单:使用独享域名。

那么何谓独享域名?

独享域名=一个人使用这个域名,只要你自己不出问题,这个域名一般就不会出现问题,使用独享域名能够很好地保证推广者的利益,同时也能对用户进行更好的分析。​

四、干货总结

说到底,使用独享域名可以彻底根治短信链接经常被拦截,当使用了独享链接仍然经常被拦截的话,就要考虑换一个短链产品了。

缩链提供专属的独享域名功能,可以彻底、有效解决用户短信链接被拦截,独享域名配合企业短链管理系统,能够快速分析客户,提升推广效果和转化率。

以上是关于Android Studio手机来指定短信就发出震动和铃声?如何编程?的主要内容,如果未能解决你的问题,请参考以下文章

Android:检测短信传出,计数不正确

Android 文字抖一抖,手机震一震!

为啥android studio向模拟器发送短信

Android种使用Notification实现通知管理以及自定义通知栏(示例四)

[android] 内容提供者简介

Android自动填充短信验证码