1

我正在尝试为我有一个 ip 摄像头的 Android 应用程序,我想实时查看摄像头捕获的内容。我使用一个名为 Motion 的程序来捕捉照片。Jpg 然后从浏览器(例如 Firefox)输入“ http://ip:port ”可能是相机正在捕捉的实时视图。对于android,我写了这段代码:

public class WebviewpfcActivity extends Activity {

public WebView wv;
Uri uri;
ContentValues values;
Bitmap bitmap;
Canvas mCanvas;

public void onCreate(Bundle icicle){
    super.onCreate(icicle);

    Bundle extras=getIntent().getExtras();

    setContentView(R.layout.main);

    wv=(WebView) findViewById(R.id.webview);

    wv.getSettings().setJavaScriptEnabled(true);
    wv.getSettings().setPluginsEnabled(true);


    wv.loadUrl("http://myIP:myPort");

}
}

它不起作用,屏幕变黑,而不是你做错了什么,因为使用一个名为“tinycam Monitor”的程序会引入相同的 IP 和相同的端口,如果它看起来像图片!

请帮忙,非常感谢。

4

2 回答 2

1

您的清单中缺少以下行:

<uses-permission android:name="android.permission.INTERNET">

并尝试将 main.xml 中的 webview 更改为:

<WebView

    xmlns:android="http://schemas.android.com/apk/res/android"

    android:id="@+id/webview"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent" />
于 2012-07-11T10:12:56.037 回答
1

如果您的 manifest.xml 和 layout.xml 编码正确。在您的活动中,您可以使用如下代码:

 WebView webView = (WebView) findViewById(R.id.web_view);
 String html = "<!DOCTYPE html>\n" +
            "<html>\n" +
            "<head>\n" +
            "\t<title></title>\n" +
            "</head>\n" +
            "<body>\n" +
            "<img src=\"http://192.168.1.7:8081/\">\n" +
            "</body>\n" +
            "</html>";
    String mime = "text/html";
    String encoding = "utf-8";

    webView.getSettings().setJavaScriptEnabled(true);
    webView.loadDataWithBaseURL(null, html, mime, encoding, null);

如您所见,我像这样在html中使用了我的本地IP,并且运行良好。我在 linux 操作系统中使用了运动 ip 摄像头,没有问题。

于 2016-03-16T21:03:48.920 回答