阻止黑莓的来电

时间:2011-11-30 06:30:31

标签: blackberry block

我正在开发一个阻止来电的应用。目前,当来电到达设备时,它被阻止。但是在从被阻止的呼叫返回后,屏幕转到拨号呼叫屏幕,并显示一个对话框,提醒您有未接来电。

我想阻止来电,然后挂机时,屏幕就是主屏幕。我该如何实现这一目标?


我的第二个问题:阻止来电的权限是什么?如何将其添加到我的应用程序?我添加了“ApplicationPermissions.PERMISSION_IDLE_TIMER”但它没用。

EDIT1:

这是我的应用程序中的代码。

private void blockincomingcall(){
    int master_volume= net.rim.device.api.system.Alert.getVolume(); //net.rim.device.api.notification.NotificationsManag er.getMasterNotificationVolume();
    System.out.println("Master Volume "+master_volume);
    net.rim.device.api.system.Alert.setVolume(0);
    int alert_volume = Alert.getVolume();
    Main.log("Master Volume after setting "+alert_volume);
    int notifi_volume = NotificationsManager.getMasterNotificationVolume();
    Main.log("Master Volume 1 after setting "+notifi_volume);
    EventInjector.KeyCodeEvent ev1 = new EventInjector.KeyCodeEvent(EventInjector.KeyCodeEvent.KEY_DOWN, ((char) Keypad.KEY_END), KeypadListener.STATUS_ALT, 100);
    try
    {
        Thread.sleep(1000);
    } 
    catch (InterruptedException e)
    {
        e.printStackTrace();
    }

    EventInjector.invokeEvent(ev1); 
    EventInjector.invokeEvent(ev1); 
    net.rim.device.api.system.Alert.setVolume(master_volume);
   //System.out.println("Master volume 2 "+master_volume);
    requestBackground();
}

什么时候,它在os5.0上运行,可以阻止调用。但屏幕将转到拨号屏幕,并显示一个新的来电通知对话框。并且音量设置无效。它在OS 7.0和6.0上运行正常但对音量集没有影响。我该怎么办,谢谢

1 个答案:

答案 0 :(得分:0)

这是一个很好的恶意软件,但无论如何:

  1. 检测来电
  2. 终止它。
  3. 再次将您的应用放在前台。
  4. 对于#1您需要检测活动呼叫(使用PhoneListener类)。 #2是最困难的一步,你将需要密钥注入才能完成它。这有点骇人听闻:

    EventInjector.KeyCodeEvent ev = new EventInjector.KeyCodeEvent(EventInjector.KeyCodeEvent.KEY_DOWN, ((char)Keypad.KEY_END), KeypadListener.STATUS_ALT);
    EventInjector.invokeEvent(ev);
    

    #3点可以通过两种不同的方式完成:

    • 3.1:将对您应用的引用传递给PhoneListener实施,然后致电<YourUiApplication>.requestForeground()
    • 3.2:鉴于PhoneListener 中的代码在手机应用内部运行(这应该回答您的第二个问题),请致电:

      UiApplication.getUiApplication()requestBackground();