如何在安卓系统上发送虚假电话广播

3

我正在尝试发送广播来模拟一个来电。 我已经在AndroidManifest.xml文件中添加了权限。

<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>

当我尝试运行程序时,手机会重新启动(模拟器也是如此)。
  Intent intent = new Intent();
    intent.setAction("android.intent.action.PHONE_STATE");
    intent.putExtra(TelephonyManager.EXTRA_STATE, TelephonyManager.CALL_STATE_RINGING);
    intent.putExtra("EXTRA_INCOMING_NUMBER", "923982398");
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    sendBroadcast(intent);
2个回答

4
我可能错了,因为文档中找不到任何信息,但我认为“欺骗”呼叫铃声广播是不可能的。这几乎肯定是保留给“系统使用”的。
想一想——如果应用程序可以做到这一点,那么它可能只会导致“恶作剧”,而不是任何恶意行为,但这并不是我想在我的手机上发生的事情。
创建自己的“电话响铃”操作以用于测试目的,并使您的广播接收器监听它。当您发布应用程序时,只需更改广播接收器的意图过滤器以侦听真实的电话铃声。

1
@dcanh121:我非常确定这些应用程序的一切都是假的。换句话说,它们实际上并没有使用真正的手机来伪造通话 - 它们只是播放铃声并显示一个“屏幕”,使其看起来像有一个来电。 - Squonk
你说得完全正确,它们是假的。谢谢。但我只是想知道它们是否能够找到Moto Blur或HTC Sense是否安装并显示相应的用户界面。 - dcanh121
1
@dcanh121:可以使用android.os.Build找到制造商、型号等信息,这可能已经足够了。请参见此处 - http://developer.android.com/reference/android/os/Build.html - Squonk

0

我从Play商店下载了一些虚假的来电应用并进行了测试。

我发现该应用程序会引发事件,将预先设置好的GUI显示在锁定屏幕的顶部,并使用ContentResolver的插入方法将条目添加到通话日志中。

该应用程序不使用内置的呼叫(广播)机制。它只是在屏幕上伪造GUI并播放默认铃声/振动。

据我所知,我认为无法伪造呼叫响铃广播。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接