2012-07-11 32 views
1

我正在嘗試爲Android設置一個應用程序,我擁有一臺ip camera,並且我想對攝像頭捕獲的內容進行實時查看。 我使用一個名爲Motion的程序來捕獲照片。 Jpg,然後從瀏覽器,例如火狐瀏覽器輸入「http:// ip:port」可能是相機捕捉的實時視圖。 爲Android我寫了這個代碼:Android:在Android 2.2上查看使用webview的IP Camera的圖像

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監視器」引入相同的IP和相同的端口程序如果它看起來的圖片!

請大家幫忙,非常感謝。

回答

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" /> 
+0

main.xml只是加起來,謝謝回答。 – sergio 2012-07-11 10:17:25

+0

對不起,塞爾吉奧,這是清單,請從res-> layout文件夾中粘貼main.xml:D – RenegadeAndy 2012-07-11 10:36:39

+0

請嘗試將match_parent中的layout_height更改爲fill_parent – RenegadeAndy 2012-07-11 10:42:37

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攝像頭,沒有任何問題。