Android活动丢弃事件,应用程序没有响应

时间:2014-11-02 13:07:57

标签: android broadcastreceiver android-contacts

我对android编程比较陌生,我正在尝试编写一个应用程序,我想从正在侦听调用状态的BroadcastReceiver启动一个活动。实际上,我想在打电话时开始一项活动。我现在正在做的是:

    public class ServiceReceiver extends BroadcastReceiver {


    @Override
    public void onReceive(final Context context, Intent intent) {
        TelephonyManager telephony = (TelephonyManager) context
                .getSystemService(Context.TELEPHONY_SERVICE);

        int state = telephony.getCallState();
...
  Intent i = new Intent(context, OnCallActivity.class);
                        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP
                                | Intent.FLAG_ACTIVITY_SINGLE_TOP);
                        i.putExtras(bundle);

                        context.startActivity(i);

}

现在开始的活动什么也没做。我设法开始没有任何问题的活动,但我得到的是一个没有响应的应用程序。应用程序已启动,但后退按钮等事件无效。如果没有应用程序的反应,我可以按几次,我必须杀了它。在logcat这里是我看到的:

 11-02 13:54:19.651     918-1065/? W/InputDispatcher﹕ Asynchronous input event injection failed.
    11-02 13:54:19.651     918-1065/? I/InputDispatcher﹕ Dropped event because the current application is not responding and the user has started interacting with a different application.

你能否至少给我一个暗示,了解什么可以阻止我的申请?我试过严格的模式,但没有什么重要的。提前致谢。

1 个答案:

答案 0 :(得分:0)

要解决此问题,我决定更改问题:我只会发送通知而不是启动活动。这是解决此问题的关键,因为呼叫活动的高优先级似乎会干扰启动的应用程序。