【问题标题】:Blackberry how to display message in app if device got no internet connection?如果设备没有互联网连接,黑莓如何在应用程序中显示消息?
【发布时间】:2010-04-29 14:48:32
【问题描述】:

我刚刚开始为 Blackberry 设备编程。我正在使用 API 的第 5 版。

我正在构建一个非常简单的应用程序,它只是一个浏览器字段。到目前为止,一切都很好。我可以在浏览器字段中显示我需要的内容。

我现在遇到的问题是,如果设备没有有效的互联网连接,我会收到丑陋的“请求内容时出错”消息。

如果设备没有活动连接,我需要有人显示我自己的消息。

类似于“您需要有一个有效的互联网连接才能使用此应用程序”,并带有一个关闭应用程序的退出按钮。

我已经找了好几个小时了,但没有成功。

希望这是相对简单的事情,所以我可以在这里得到帮助。

到目前为止,这是我的代码:

package com.mycompany.webview;

import net.rim.device.api.browser.field2.*;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.container.*;

public class webview extends UiApplication
{
    public static void main(String[] args)
    {
        webview app = new webview();
        app.enterEventDispatcher();
    }
    public webview()
    {
    pushScreen(new webviewScreen());
    }
}
class webviewScreen extends MainScreen
{
    public webviewScreen()
    {
        BrowserField myBrowserField = new BrowserField();
        add(myBrowserField);
        myBrowserField.requestContent("http://www.google.com");
    }
}

非常感谢您的帮助。

谢谢

【问题讨论】:

  • 如果您使用的自定义 APN 仅供用户显示专用站点,您的解决方案可能会出错。使用连接时必须有办法,并且知道存在问题并且应该能够在那里显示警报。覆盖范围仍然存在,但您的应用程序没有使用该覆盖范围,它使用的是由特定 APN 启用的自己的自定义覆盖范围,因此您的解决方案是错误的。

标签: blackberry browserfield


【解决方案1】:

我让它工作了。 如果其他人想知道它是如何完成的,我就是这样做的:

package com.mycompany.webview;

import net.rim.device.api.browser.field2.*;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.system.CoverageInfo;

public class webview extends UiApplication
{
    public static void main(String[] args)
    {
        webview app = new webview();
        app.enterEventDispatcher();
    }
    public webview()
    {
    pushScreen(new webviewScreen());
    }
}
class webviewScreen extends MainScreen
{   
    public webviewScreen()
    {
            if (CoverageInfo.isOutOfCoverage())
            {
                UiApplication.getUiApplication().invokeLater(new Runnable()
                {
                    public void run()
                    {
                        Dialog.alert("You need an active internet connection to use this application");
                        System.exit(0);
                    }
                });
            }
            else
            {
                BrowserField myBrowserField = new BrowserField();
                add(myBrowserField);
                myBrowserField.requestContent("http://www.google.com");
            }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多