未收到来自k9电子邮件的广播

问题描述

我正在听从k9广播的电子邮件,但似乎无法正常工作。 我已经注册了以下接收器:
com.fsck.k9.intent.action.EMAIL_RECEIVED
我想知道是否需要添加权限-我似乎无法收到此广播。 我知道我的接收器正在工作,因为我可以接收SMS和电话的广播。是否有其他人使用过此方法,可能可以使您对该主题有所了解? 这是我的过滤器:
IntentFilter fltr = new IntentFilter();
fltr.addAction(\"android.provider.Telephony.SMS_RECEIVED\");
fltr.addAction(\"com.fsck.k9.intent.action.EMAIL_RECEIVED\");
fltr.addAction(\"android.intent.action.PHONE_STATE\");
registerReceiver(mRcv,fltr);
在我的BroadcastReceiver中:
private static final String SMS_RECEIVED = \"android.provider.Telephony.SMS_RECEIVED\";
private static final String EMAIL_RECEIVED = \"com.fsck.k9.intent.action.EMAIL_RECEIVED\";
private static final String CALL_RECEIVED = \"android.intent.action.PHONE_STATE\";


public void onReceive( Context context,Intent intent ) { 
            Log.d(TAG,\"Inside Broadcast Reciever\");
            Log.d(TAG,\"Action: \" + intent.getAction());
            if(intent.getAction().equals(SMS_RECEIVED)) {
                StartAct(\"SMS Received\",context);
            }else if(intent.getAction().equals(EMAIL_RECEIVED)){
                StartAct(\"Email received\",context);
            }else if(intent.getAction().equals(CALL_RECEIVED)){
                if(intent.getStringExtra(TelephonyManager.EXTRA_STATE).equals(TelephonyManager.EXTRA_STATE_RINGING))
                    StartAct(\"Incoming Phone Call\",context);
            }

        } 
    

解决方法

我有工作-终于.... 您必须向意图过滤器添加数据方案。这将使您可以接收广播。但是它将破坏我在过滤器中执行的其他操作,因此我不得不将它们分解为单独的接收器-一个用于SMS和电话,另一个用于k9电子邮件广播。 这是k9电子邮件的电子邮件地址:
IntentFilter fltr = new IntentFilter();
fltr.addAction(\"com.fsck.k9.intent.action.EMAIL_RECEIVED\");
fltr.addDataScheme(\"email\"); //This is needed to even receive the broadcast
registerReceiver(mRcv,fltr);
    ,尝试查看实际的K9源代码。 AndroidManifest显示了它们具有的几个权限。尝试使用挂钩的Eclipse编译程序并检查LogCat,如果缺少权限,通常会在错误部分显示该程序。我只看到他们创建的4个声明的权限,所以我想是READ_MESSAGE,但请检查logcat并查看其内容。 不幸的是,他们的文档似乎缺乏很多,这真是太可惜了。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...