Android Whatsapp呼叫启动广播接收器

Android Whatsapp呼叫启动广播接收器,android,broadcastreceiver,whatsapp,Android,Broadcastreceiver,Whatsapp,我正在开发一个应用程序,当WhatsApp调用启动(在调用方和接收方)或结束时,需要获得某种形式的通知/接收方。是否可以在我的应用程序中获取传入/传出WhatsApp呼叫信息 我试着用 使用包名为“com.whatsapp”,我无法满足我的要求。 有人能建议我该怎么做吗?或者这真的可以做到吗?如果是,请解释如何解决。让我们来解决这个问题。。。。 辅助功能服务将帮助您获得通知,告知您何时将收到针对所需包名的通知。例如“com.whatsapp” 现在好的事情是,您只需稍加努力,就可以在可访问性服务

我正在开发一个应用程序,当WhatsApp调用启动(在调用方和接收方)或结束时,需要获得某种形式的
通知
/
接收方
。是否可以在我的应用程序中获取传入/传出WhatsApp呼叫信息

我试着用

使用包名为“
com.whatsapp
”,我无法满足我的要求。 有人能建议我该怎么做吗?或者这真的可以做到吗?如果是,请解释如何解决。

让我们来解决这个问题。。。。 辅助功能服务将帮助您获得通知,告知您何时将收到针对所需包名的通知。例如“com.whatsapp”


现在好的事情是,您只需稍加努力,就可以在可访问性服务中解析Android 4.2中的通知消息。不幸的是,有一个正在做你想要做的事情,但它目前不可用。

我尝试了它,我能够捕获whatsapp调用按钮单击和调用结束按钮单击操作。下面是我使用的简单AccessibilityService,它与

}


在上面的代码中,我展示了一条toast消息和drawable的技巧,我们将提供contentDescription,系统在“对讲”可访问性模式下可以使用它。希望这有帮助

你提到的链接已断开。此外,正如我在问题中所提到的,我还弄乱了无障碍服务,但不幸的是,我无法满足我的需求。当whatsapp调用启动时,我想在我的应用程序中获得广播/意图/通知或任何类型的标志。使用可访问性服务,我无法跟踪whatsapp调用按钮,因为上面没有文本,它是可绘制的。这很难捕捉到,我如何跟踪通话结束?你对whats up的UI在参与所谓行为时的行为确认了什么?我尝试使用辅助功能服务捕捉Whatsapp中的特定文本,但通话按钮是可绘制的,而不是文本。这也是一个问题,所以我在搜索whatapp调用开始和结束时是否有其他方式获取信息?你想知道用户何时单击whatapp操作栏中的调用图标吗?嗨,Dinash,当whatapp调用被接收/结束时,它是否也会显示toast消息?@iAmLearning默认情况下,您将不会收到receive和end的toast消息。但您可以找到“结束”按钮和“参加”按钮。
public class MyAccessibilityService extends AccessibilityService {

@Override
protected void onServiceConnected() {
    AccessibilityServiceInfo info = new AccessibilityServiceInfo();
    // Set the type of events that this service wants to listen to.  Others
    // won't be passed to this service.
    info.eventTypes = AccessibilityEvent.TYPE_VIEW_CLICKED |
            AccessibilityEvent.TYPE_VIEW_FOCUSED;

    // If you only want this service to work with specific applications, set their
    // package names here.  Otherwise, when the service is activated, it will listen
    // to events from all applications.
    info.packageNames = new String[]
            {"com.whatsapp","com.android.calendar"};

    // Set the type of feedback your service will provide.
    info.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN;

    // Default services are invoked only if no package-specific ones are present
    // for the type of AccessibilityEvent generated.  This service *is*
    // application-specific, so the flag isn't necessary.  If this was a
    // general-purpose service, it would be worth considering setting the
    // DEFAULT flag.

    // info.flags = AccessibilityServiceInfo.DEFAULT;

    info.notificationTimeout = 100;

    this.setServiceInfo(info);



}

@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
    final int eventType = event.getEventType();
    String eventText = null;
    switch(eventType) {
        case AccessibilityEvent.TYPE_VIEW_CLICKED:
            eventText = "Focused: ";
            break;
        case AccessibilityEvent.TYPE_VIEW_FOCUSED:
            eventText = "Focused: ";
            break;
    }

    //eventText = eventText + event.getContentDescription();

    // Do something nifty with this text, like speak the composed string
    // back to the user.
    Toast.makeText(getApplicationContext(),""+eventText +" --- "+event.getContentDescription(),Toast.LENGTH_LONG).show();
}

@Override
public void onInterrupt() {

}