相关疑难解决方法(0)

如何在Android webview中停止播放YouTube视频?

如何停止在我的网页浏览中播放的YouTube视频?当我点击后退按钮时,视频不会停止,而是在后台继续播放.

码:

webView = (WebView) findViewById(R.id.webview); 
webView.getSettings().setPluginsEnabled(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(false); 
webView.getSettings().setSupportZoom(false);
webView.loadData(myUrl,"text/html", "utf-8");
Run Code Online (Sandbox Code Playgroud)

youtube video android webview

62
推荐指数
6
解决办法
5万
查看次数

在onPause之后,PhoneGap继续在Android上运行

当应用程序在后台时,我决定测试phonegap WebView是否正常运行.

function test2(x){
    $('<div></div>', {text: x.cmd}).appendTo($('#list'));
}
$(function(){test2({cmd:"start"});});
function cb_pause(){test2({cmd:"pause"});}
function cb_resume(){   test2({cmd:"resume"});}
function tick(){test2({cmd:"timer" + timer});timer++;setTimeout(tick, 1000);}
document.addEventListener("pause", cb_pause, false);
document.addEventListener("resume", cb_resume, false);
tick();
Run Code Online (Sandbox Code Playgroud)

它打印pauseresume打开onPauseonResume.和打印timer0,timer1等每一秒.

即使我离开应用程序并开始玩游戏,它也在打印.我知道我可以并且应该停止计时器onPause但仍然.看起来不对劲.我预计android会冻结WebView.

我知道后台线程在后台应用程序中不会停止,直到它被卸载.

所以问题是:是否有办法冻结/暂停/卸载webview onPause和解冻/恢复/加载onResume

当我说加载时我的意思是当用户离开app时它应该处于相同的状态.

当我说冻结时,我的意思是我的代码即使在它将继续调用时也会暂停 setTimeout

我想我希望Android的行为像iOS一样.

android background cordova

18
推荐指数
1
解决办法
6815
查看次数

即使父活动暂停,admob AdView使用的WebViewCoreThread也使用高CPU

我正在使用Google Admob SDK v6.1.0(https://developers.google.com/mobile-ads-sdk/download),并以编程方式(不是以XML格式)实例化com.google.ads.AdView,并添加它在我的Activity中动态地变成LinearLayout.

我的一位用户报告说,当他们在我的Activity中点击Home按钮时(为了让它背景),他们开始看到来自我的应用程序的高CPU使用率.我能够在Jellybean平台上重现这一点,并注意到高CPU使用率的来源是WebViewCoreThread.

我的Activity根本不使用任何WebView,但我能够逐步完成Activity的初始化,并注意到当我实例化AdMob AdView对象时,此WebViewCoreThread会启动.作为AdMob引用中的状态,我在Activity的onDestroy()方法中调用此AdView上的destroy().我改变了我的代码,在我的onPause()方法中调用了AdView.onDestroy().但似乎没有任何因素导致WebViewCoreThread停止.我猜,如果那个线程坚持下去,我没关系.但是,如果我反复多次启动我的Activity,这个线程开始使用我的CPU的8%到25%之间的任何地方,即使我的活动不在前台.

我注意到其他一些用户说你必须调用WebView.onPause()作为纠正措施.(http://stackoverflow.com/questions/2040963/webview-threads-never-stop-webviewcorethread-cookiesyncmanager-http0-3)但这对我来说不是直接可行的,因为我的网页视图是由AdMob的AdView创建的.我还改变了我的代码,调用.removeAllViews()为mt Admob AdView的容器LinearLayout对象,然后调用System.gc()强制垃圾收集,但似乎什么都没有杀死我的WebViewCoreThread并最终开始吃掉CPU直到我强行 - 杀了我的应用程序.

AdMob为什么这样做的任何线索,以及我如何强制杀死这个线程?

我附加了一个我创建的类来封装AdView的创建和销毁.我在我的活动的初始化中调用了这个类的getNewAd()方法.我在Activity的onPause()和onDestroy()方法中调用了这个类的removeAd():

package com.shiprack.client;

import com.google.ads.AdRequest;
import com.google.ads.AdSize;
import com.google.ads.AdView;
import com.mobclix.android.sdk.Mobclix;
import com.mobclix.android.sdk.MobclixMMABannerXLAdView;

import android.app.Activity;
import android.view.Gravity;
import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;

public class AdManager {
    public AdManager(EventLog logger, LinearLayout container, Activity activity) {
        _container = container;
        _activity = activity;
        _eventLogger = logger;
    }

    public void setNetwork(int network) {
        _network = network;
    }

    public void getNewAd() {
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
        params.gravity = Gravity.CENTER;
        switch (_network) { …
Run Code Online (Sandbox Code Playgroud)

android admob android-webview adview

15
推荐指数
2
解决办法
3598
查看次数

android.view.WindowLeaked:Activity已泄漏窗口android.widget.ZoomButtonsController $ Container最初在这里添加

使用地图我有一个活动,当没有可用的连接时启动,并使用离线地图(MapQuest).活动运行正常,显示地图,以及所有叠加,标记等.当用户点击其中一个标记信息窗口时,将启动另一个活动,此时我在日志中收到一堆红色错误消息,但应用程序不会崩溃.这些消息(init在标题中)似乎谈论了ZoomButtons和触摸事件.对于代码中的ZoomButtons或触摸事件(多点触控),只有两行:

map.setBuiltInZoomControls(true);
map.setMultiTouchControls(true);
Run Code Online (Sandbox Code Playgroud)

而不是任何对话......

  • 如果我写:

    map.setBuiltInZoomControls(假); map.setMultiTouchControls(假);

红色错误消息消失但当然用户无法以任何方式放大或缩小...

由于错误(带有"true"参数)仅在启动另一个活动时发生,我认为我必须在pause()上添加一些内容,即:

onPause(){
map.setBuiltInZoomControls(false);
map.setMultiTouchControls(false);
super.OnPause();
}
Run Code Online (Sandbox Code Playgroud)

----但这样做并没有改变任何东西......任何提示??? - 提前致谢!

maps osmdroid

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

android:在recyclerview中暂停/停止webview

我正在尝试在RecyclerView. 一切正常,但我遇到了问题(我是新手)。在阅读了一些帖子(帖子 1帖子 2)后,我现在意识到即使应用程序停止或进入后台,WebView 线程也永远不会停止的问题。

我的问题是处理WebViewin的暂停RecyclerView.Adapter。我已经创建RecyclerView适配器,但我有没有想法,如何停止WebViewViewHolderRecyclerView.Adapter

如果有人可以帮助我,请。

android webview

3
推荐指数
1
解决办法
2582
查看次数

onBackPressed 不关闭 Android 中的当前活动

我创建了一个用于播放视频的应用程序。它工作正常,但问题是 - 当我按下设备上的后退按钮时,Activity 没有关闭。视频正在后台播放。我正在使用onBackpressed(). 如何关闭当前活动?

android android-activity

0
推荐指数
1
解决办法
5641
查看次数