如何在Android 4.4上实现短信拦截

众所周知Android在4.4上增加了不少安全措施,除了把SELinux设置为enforce外,在短信方向也加强了限制。

4.4之后,新增了一个default sms的机制,详细的描述,可以参考我的另一篇文章谈谈4.4中的新增功能对安全类软件的影响。简而言之,就是如果要在4.4之后实现短信拦截功能,就必须成为default sms,把所有短信相关的功能都包揽了,然后再做短信拦截。但这种做法,适配性和兼容性的工作是非常巨大的,短信、wapush(多种)、彩信、单双卡等等,相当于要求短信拦截类的软件要集成一个功能非常完善的通讯录类应用的功能。

那么,是否有一种方法,可以在不成为default sms的同时也可以对短信进行“写操作”(这可是让4.4一下子回到解放前啊。。。。)? 答案是有的。

XDA大牛有人发现了一种比较讨巧的方法,原文可以参考这里

原理很简单,主要是利用4.2+后的添加的App Ops权限管理功能,在MESSAGE的TAB中找到

  • 9
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 34
    评论
Android 4.4(KitKat)中,可以通过使用Transition API来实现页面切换动画。Transition API是Android提供的一个动画框架,可以用于实现各种复杂的过渡动画效果。以下是实现页面切换动画的步骤: 1. 在res目录下创建transition目录,并在其中创建XML文件来描述动画效果。例如,创建一个fade.xml文件,代码如下: ``` <?xml version="1.0" encoding="utf-8"?> <transitionSet xmlns:android="http://schemas.android.com/apk/res/android"> <fade android:duration="500"/> </transitionSet> ``` 2. 在Activity之间调用ActivityOptions.makeSceneTransitionAnimation()方法创建一个ActivityOptions对象,该对象可以设置进入和退出动画的资源ID和其他参数。例如: ``` Intent intent = new Intent(this, SecondActivity.class); ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this); startActivity(intent, options.toBundle()); ``` 3. 在进入Activity的onCreate()方法中,调用getWindow().setEnterTransition()方法设置进入动画的资源ID,例如: ``` getWindow().setEnterTransition(R.transition.fade); ``` 4. 在退出Activity的onCreate()方法中,调用getWindow().setExitTransition()方法设置退出动画的资源ID,例如: ``` getWindow().setExitTransition(R.transition.fade); ``` 需要注意的是,Transition API只能在Android 4.4及以上版本中使用,对于低于Android 4.4的版本,可以使用上文提到的overridePendingTransition()方法来实现页面切换动画。另外,在使用Transition API时,需要确保进入和退出Activity的布局文件中使用了相同的transitionName属性来标识共享元素,才能实现共享元素的过渡动画效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值