【问题标题】:How to send fake call broadcast on android如何在android上发送假通话广播
【发布时间】:2011-06-13 23:36:59
【问题描述】:

我正在尝试发送广播以模拟来电。 我在 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);

【问题讨论】:

    标签: android android-intent phone-call telephonymanager


    【解决方案1】:

    我可能是错的,因为我在文档中找不到任何内容,但我想说不可能“欺骗”呼叫响铃广播。它几乎肯定被保留为“仅限系统”。

    想一想 - 如果应用程序可以做到这一点,它可能只会导致“恶作剧”而不是任何恶意,但我不希望在我的手机上发生这种情况。

    创建您自己的“电话响铃”操作以用于测试目的,并让您的 BroadcastReceiver 监听它。当您发布应用程序时,只需更改 BroadcastReceiver 的意图过滤器以侦听真实的。

    【讨论】:

    • 我也是这么想的,但市场上的应用程序很少。 market.android.com/…market.android.com/search?q=fake+caller&so=1&c=apps
    • @dcanh121:我很确定这些应用程序的一切都是假的。换句话说,他们实际上并没有使用真实的电话来假冒电话 - 他们只是播放铃声并显示一个“屏幕”,让它看起来像是有来电。
    • 你说得对,他们是假的。谢谢。但我只是想知道他们是否能够找到是否安装了 Moto blur 或 HTC sense 并显示适当的 UI。
    • @dcanh121:使用 android.os.Build 可以找到有关制造商、型号等的信息,这可能足以做到这一点。见这里 - developer.android.com/reference/android/os/Build.html
    【解决方案2】:

    我从 Play 商店下载了一些假的来电应用程序并对其进行了测试。 我发现应用程序引发了一个事件,该事件在锁定屏幕顶部显示了预先提到的 GUI,并使用 ContentResolver 的插入方法将条目添加到调用日志中。

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

    据我所知,我认为不可能伪造呼叫响铃广播

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-28
      • 2023-03-10
      • 1970-01-01
      • 2011-10-08
      相关资源
      最近更新 更多