2016-08-24 4 views
0

Adobe Flash Player apk를 자산에서 SD 카드로 복사하고 Intent를 사용하여 설치하여 설치했습니다. 그 후에도 WebView는 .swf 파일을로드 할 수 없습니다.안드로이드에서 .swf 파일을 재생하는 방법?

대신 Android 애플리케이션을 개발하기 위해 Adobe Flash Builder를 사용해야합니까? 내 주요 요구 사항은 서버에서 .swf 파일을 재생하는 것입니다!

여기 내 코드입니다.

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_flash); 

     installFlashPlayer(); 


//Fake Url 
//  String url = "http://www.test.com/test.swf"; 
// 
//  webView = (WebView) findViewById(R.id.webView); 
//  webView.getSettings().setPluginState(WebSettings.PluginState.ON); 
//  webView.setWebViewClient(new WebViewClient()); 
// 
//  webView.getSettings().setUseWideViewPort(true); 
//  webView.getSettings().setLoadWithOverviewMode(true); 
//  webView.loadUrl(url); 

    } 

    void installFlashPlayer(){ 
     AssetManager assetManager = FlashActivity.this.getAssets(); 

     InputStream in = null; 
     OutputStream out = null; 

     try { 
      in = assetManager.open("flp.apk"); 
      out = new FileOutputStream(Environment.getExternalStorageDirectory() + "/flp.apk"); 

      byte[] buffer = new byte[1024]; 

      int read; 
      while((read = in.read(buffer)) != -1) { 

       out.write(buffer, 0, read); 

      } 

      in.close(); 
      in = null; 

      out.flush(); 
      out.close(); 
      out = null; 

      Intent intent = new Intent(Intent.ACTION_VIEW); 

      intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/flp.apk")), 
        "application/vnd.android.package-archive"); 

      startActivity(intent); 

     } catch(Exception e) { } 
    } 

답변

0

당신은 "GeckoView of Firefox" 내가 내 프로젝트에서 이것을 사용 할 수 있습니다.

swf 파일을 재생할 때 유용합니다. GeckoView는 JNI와 함께 작동하기 때문에

또한 당신은,

나쁜 아이디어는 (내가 잘못 기억 didnot 경우) GeckoView를 사용하도록 선택하는 경우 20-25메가바이트을 증가됩니다 APK입니다 .. GeckoView에서 plugin.state.flash = true;를 설정해야 ...

관련 문제