Am trying to play local .swf files (kept in asset or sdcard) inside webview. But am not getting any luck...Can anyone guide me the proper way??? I am able to play swf files via url....but getting difficulty in playing local file inside webview
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
由 翻译强力驱动
问题:
回答1:
swf2.html:
below is the android code
package webView.video; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.webkit.WebView; public class WebViewActivity extends Activity { private WebView mWebView; /** Called when the activity is first created. */ @Override public void onCreate (Bundle savedInstanceState) { super. onCreate (savedInstanceState); setContentView(R.layout.main); // html file with sample swf video in sdcard //swf2.html points to swf in sdcard mWebView = (WebView)findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setPluginsEnabled(true); mWebView.getSettings().setAllowFileAccess(true); if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ System.exit(4); } else { mWebView.loadUrl("file://" + Environment.getExternalStorageDirectory() + "/swf2.html"); } } }
回答2:
For assets:
webView.loadUrl("file:///android_asset/YourFile.swf");
will play the file auto-scaled to the WebView size.
For the SD card, I expect something like this would work:
if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ Log.d(TAG, "No SDCard"); } else { webView.loadUrl("file://" + Environment.getExternalStorageDirectory() + "/YourPath/YourFile.swf"); }
(Using the READ_EXTERNAL_STORAGE permission, of course).
Edit: You may also need to set:
webView.getSettings().setAllowFileAccess(true);
回答3:
package webView.video; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.webkit.WebView; public class WebViewActivity extends Activity { private WebView mWebView; /** Called when the activity is first created. */ @Override public void onCreate (Bundle savedInstanceState) { super. onCreate (savedInstanceState); setContentView(R.layout.main); // html file with sample swf video in sdcard //swf2.html points to swf in sdcard mWebView = (WebView)findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setPluginsEnabled(true); mWebView.getSettings().setAllowFileAccess(true); if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){