黑莓查找电子邮件地址

时间:2011-08-10 15:27:50

标签: email blackberry

我正在开发一个BlackBerry应用程序,用于查找注册到设备的电子邮件地址。我正在使用此代码来完成:

            Session session = Session.getDefaultInstance();
        System.out.println("############### got session ################");
        if (session != null) {
            Store store = session.getStore();
            System.out.println("################ got store ######################");
            ServiceConfiguration serviceConfig = store.getServiceConfiguration();
            System.out.println("################ got config #####################");
            email = serviceConfig.getEmailAddress();
        }

这适用于已注册电子邮件地址的设备。但是如果设备没有在其中注册的地址:

email = serviceConfig.getEmailAddress();

永远不会回来。所以我的整个申请无限期地停止了。解决这个问题的最佳方法是什么?我的第一个想法是设置一个计时器任务,它将在1或2秒后将电子邮件字符串设置为某个默认值,例如“无地址注册”。是否有更好的方式来获得通知,除了应用程序只是拖延而无所事事之外没有其他电子邮件?

1 个答案:

答案 0 :(得分:4)

事实证明,如果没有注册电子邮件,serviceConfig.getEmailAddress();会抛出异常。 BlackBerry文档中没有提及此问题。这也很奇怪,因为如果你没有捕获到那个异常,那么方法永远不会返回,你的应用程序将无限期地停止。但要解决此问题,您可以使用try / catch包围该调用,并在catch块中将电子邮件设置为默认值。

如果实际记录正确,那么本可以节省我很多时间。我希望在这里发布答案可以避免某人追逐未记录的内容。