相关疑难解决方法(0)

当我的活动不可见时,如何在Android WebView中暂停Flash内容?

我正在尝试使用WebView在我的活动中显示Flash内容.一切都运行得很好,但是当用户点击主页键将活动放入后台时,Flash内容会继续运行(声音继续播放等)

我注意到Android浏览器和Dolphin浏览器似乎都避免了这个问题,并且当浏览活动放到后台时正确暂停Flash内容.

理想情况下,我想要一个解决方案,如果活动正在完成,则完全杀死WebView,但是暂停它(基本上复制浏览器的默认行为)

这是一个简单的测试,我把它放在Kongregate上加载一个有一些背景音乐的游戏:

    public class BrowserTest extends Activity {
    private WebView mWebView;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            mWebView = new WebView(this);
            mWebView.getSettings().setJavaScriptEnabled(true);
            mWebView.getSettings().setPluginsEnabled(true);

            mWebView.loadUrl("http://m.kongregate.com/games/Jiggmin/the-game-of-disorientation-mobile");
            setContentView(mWebView);
        }

        @Override
        protected void onPause(){
            super.onPause();

            mWebView.pauseTimers();
            if(isFinishing()){
                mWebView.loadUrl("about:blank");
                setContentView(new FrameLayout(this));
            }
        }

        @Override
        protected void onResume(){
            super.onResume();
            mWebView.resumeTimers();
        }
    }
Run Code Online (Sandbox Code Playgroud)

我看了一下股票浏览器的最新来源,似乎做了类似的事情(调用pauseTimers/resumeTimers),虽然我担心我一直在看的代码已经过时了,因为它调用的函数是don似乎不再存在了.

我确实通过使用更新计数器的简单JavaScript setInterval进行测试来验证对pauseTimers的调用是否正常.对于Window或View管理,我应该尝试一些其他明显的东西吗?

移动Flash播放器的文档说:

Flash Player还将自动暂停不在视图或前台应用程序中的SWF播放,例如在收到呼叫或警报响起时,以降低CPU利用率,电池使用率和内存使用率.

这似乎在股票浏览器和Dolphin浏览器中都很完美,但在我的应用程序中却没有.任何想法/解决方案将不胜感激!

更新:这是我们最终添加到我们的活动以使其工作的功能.我们在活动的onPause函数中使用"onPause",在activity的onResume函数中使用"onResume"调用它:

private void callHiddenWebViewMethod(String name){
    if( mWebView != null ){
        try {
            Method method = WebView.class.getMethod(name);
            method.invoke(mWebView);
        } catch (NoSuchMethodException e) {
            Log.error("No …
Run Code Online (Sandbox Code Playgroud)

android android-webview android-2.2-froyo

20
推荐指数
2
解决办法
1万
查看次数

设置WebView以查看桌面站点和非移动站点

我已经做了很多关于Stack Overflow和大量Google研究的研究,但我找不到任何实际工作对我来说.我希望该网站能够查看桌面网站而不是移动网站.我该怎么做呢?我希望它直接转到桌面站点.

WebView myWebView = (WebView) findViewById(R.id.webview); 
    myWebView.loadUrl("http://www.apotter96.webs.com/");
}
Run Code Online (Sandbox Code Playgroud)

android android-webview

16
推荐指数
5
解决办法
4万
查看次数

8
推荐指数
1
解决办法
2万
查看次数

Android WebView中的Flash - 如何自动设置全屏?

我正在将Flash SWF加载到Android WebView中.

我希望SWF立即全屏和专注.

处理flash的类名是com.adobe.flashplayer.FlashPaintSurface.看着日志,当我手动全屏显示闪光灯时,它会调用com.adobe.flashplayer.FlashPaintSurface.toggleFullScreen().

我的问题的第一部分是:如何手动为Flash SWF调用该方法?

请注意,对于嵌入了闪存的webview,我似乎能够正确地全屏显示它的唯一方法(使用Flash的surfaceview全屏而不是闪存显示在其上方webview view)是用两个手指触摸屏幕直到界面弹出在屏幕的顶部,并没有可靠地发生.

对于焦点,我在我的webview类中调用:

@Override 
protected boolean drawChild (Canvas canvas, View child, long drawingTime) {

    if (child.getClass().getName().equals("com.adobe.flashplayer.FlashPaintSurface")) {
        child.requestFocus();
    }
    return super.drawChild(canvas, child, drawingTime);
}
Run Code Online (Sandbox Code Playgroud)

这并没有像我想象的那样设定焦点.虽然我假设,如果正确完全屏蔽,FlashPaintSurface应该给自己的焦点.但如果第一部分不可行,我想至少不必在启动时点击它来关注SWF.

请注意我动态执行此操作,而不是调用我自己创建的SWF,因此无法使用Actionscript解决此问题.

flash android fullscreen webview

8
推荐指数
1
解决办法
5145
查看次数

Android:从网址播放flv视频流

我目前有一个应用程序记录视频并将其上传到我的服务器.上传视频后,应用会收到一个响应,其中包含指向文件的flv流的URL.

当我尝试在Android默认视频播放器(视频)中打开流时没有任何反应,但是当我使用其他应用程序(BSPlayer)时,它完美地播放了视频.但是,没有办法强制打开一个应用程序Intent.ACTION_VIEW.这是从服务器接收响应的函数的代码:

@Override
protected void onResponseReceived(int requestType, int status, Object resp) {
    switch (requestType) {
    case CLIP_DETAILS: {
        if (status == RESPONSE_OK) {
            String token1 = ((ResponseObject_ClipDetails) resp).m_token1;
            String token2 = ((ResponseObject_ClipDetails) resp).m_token2;
            String url = getClipURL(token1, token2);

            Intent i = new Intent(Intent.ACTION_VIEW);
            i.setData(Uri.parse(url));
            i.setType("video/flv");
            startActivity(i);
        }

    }
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在我的Android应用程序中显示.flv视频?

android video-streaming streaming-flv-video

4
推荐指数
1
解决办法
1万
查看次数