Intereting Posts
Является ли отказ от приложения неодобрительным? Создать json в android Как создать эмулятор Android в командной строке с параметрами? Ошибка: GooglePlayServicesUtil: произошла внутренняя ошибка. Для получения подробной информации см. Журналы. Как это исправить? Android: рисованная холстная краска исчезнет, ​​если возобновить приложение из панели уведомлений Можно ли использовать proguard в режиме отладки? Правый подход Android: где JSON-ответ должен анализироваться – в потоке пользовательского интерфейса или в другом? Альтернатива TYPE_TOAST, которая не будет запрашивать разрешение? Android-фрагмент oncreateview вызвал изменение вкладок Ошибка раздувания класса android.support.v7.widget.RecyclerView Обрезание круговой области из растрового изображения в Android Cordova phonegap с использованием внешней веб-страницы в приложении, сохраняя верхний / нижний колонтитул (для навигации) Потребление энергии в WebSockets Как получить растровое изображение с URL-адресом в андроиде? Как преобразовать строку Date в long millseconds

Как играть в локальные swf-файлы в веб-просмотре

Я пытаюсь воспроизвести локальные .swf-файлы (хранящиеся в активе или sdcard) внутри webview. Но мне не повезло … Может ли кто-нибудь вести меня надлежащим образом? Я могу играть в swf-файлы через url …. но с трудом играть в локальный файл внутри webview

Solutions Collecting From Web of "Как играть в локальные swf-файлы в веб-просмотре"

swf2.html:

 <html> <head> <meta http-equiv="Content-Type" content="text/html" charset="UTF-8" /> </head> <body> <object width="215" height="140"> <param name="movie" value="choudanse7us.swf"> <embed src="file:///mnt/sdcard/choudanse7us.swf" width="215" height="140"> </embed> </object> </body> </html> 

Ниже приведен код андроида

 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"); } } } 

Для активов:

 webView.loadUrl("file:///android_asset/YourFile.swf"); 

Будет воспроизводить файл с автоматическим масштабированием до размера WebView.


Для SD-карты я ожидаю, что что-то вроде этого будет работать:

 if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ Log.d(TAG, "No SDCard"); } else { webView.loadUrl("file://" + Environment.getExternalStorageDirectory() + "/YourPath/YourFile.swf"); } 

(Разумеется, с разрешения READ_EXTERNAL_STORAGE).

Изменить: вам также может потребоваться установить:

 webView.getSettings().setAllowFileAccess(true); 
 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"); } } }