jQueryを使用してHTML5でアプリを開発しています。
JavaScript またはその他のテクノロジで、画面を「オン」に保つ方法/方法はありますか?
Javaコードなしでそれを行う別の方法があると思います。無限リピートと非表示の 1 秒のビデオを追加すると、うまくいきます。どこかで読んだことがありますが、どこだったか思い出せません。
以下の空のビデオのいずれかを使用できます。
できます!
Google のWebVR ポリフィルには、Chrome でこれを行う方法があります。基本的に、小さなビデオを作成し (データ URL を使用するため、追加のダウンロードは必要ありません)、ループします。
ハックのように見えるので、将来的に信頼できなくても驚かないでしょう。
位置情報の更新をトリガーすることで、iOS でも同じことを実現するコードがあります。
Android に関連するコードは次のとおりです。
var Util={};
Util.base64 = function(mimeType, base64) {
return 'data:' + mimeType + ';base64,' + base64;
};
var video = document.createElement('video');
video.setAttribute('loop', '');
function addSourceToVideo(element, type, dataURI) {
var source = document.createElement('source');
source.src = dataURI;
source.type = 'video/' + type;
element.appendChild(source);
}
addSourceToVideo(video,'webm', Util.base64('video/webm', 'GkXfo0AgQoaBAUL3gQFC8oEEQvOBCEKCQAR3ZWJtQoeBAkKFgQIYU4BnQI0VSalmQCgq17FAAw9CQE2AQAZ3aGFtbXlXQUAGd2hhbW15RIlACECPQAAAAAAAFlSua0AxrkAu14EBY8WBAZyBACK1nEADdW5khkAFVl9WUDglhohAA1ZQOIOBAeBABrCBCLqBCB9DtnVAIueBAKNAHIEAAIAwAQCdASoIAAgAAUAmJaQAA3AA/vz0AAA='));
addSourceToVideo(video, 'mp4', Util.base64('video/mp4', 'AAAAHGZ0eXBpc29tAAACAGlzb21pc28ybXA0MQAAAAhmcmVlAAAAG21kYXQAAAGzABAHAAABthADAowdbb9/AAAC6W1vb3YAAABsbXZoZAAAAAB8JbCAfCWwgAAAA+gAAAAAAAEAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIVdHJhawAAAFx0a2hkAAAAD3wlsIB8JbCAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAIAAAACAAAAAABsW1kaWEAAAAgbWRoZAAAAAB8JbCAfCWwgAAAA+gAAAAAVcQAAAAAAC1oZGxyAAAAAAAAAAB2aWRlAAAAAAAAAAAAAAAAVmlkZW9IYW5kbGVyAAAAAVxtaW5mAAAAFHZtaGQAAAABAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEAAAAMdXJsIAAAAAEAAAEcc3RibAAAALhzdHNkAAAAAAAAAAEAAACobXA0dgAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAIAAgASAAAAEgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj//wAAAFJlc2RzAAAAAANEAAEABDwgEQAAAAADDUAAAAAABS0AAAGwAQAAAbWJEwAAAQAAAAEgAMSNiB9FAEQBFGMAAAGyTGF2YzUyLjg3LjQGAQIAAAAYc3R0cwAAAAAAAAABAAAAAQAAAAAAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAEAAAABAAAAFHN0c3oAAAAAAAAAEwAAAAEAAAAUc3RjbwAAAAAAAAABAAAALAAAAGB1ZHRhAAAAWG1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAAK2lsc3QAAAAjqXRvbwAAABtkYXRhAAAAAQAAAABMYXZmNTIuNzguMw=='));
video.play();
少なくとも少しのJavaコードを書かずに、JavaScriptやその他のWebコードを書いて画面をオンにしておく方法はありません。
私がそう確信している理由を説明すると、html5 を使用して Web アプリを開発している場合は、アプリケーションのメインの「画面」として WebView を使用して、html、javascript コードをホストする必要があります。したがって、「Web コード」はアプリケーションで直接実行されるのではなく、View をそのホルダーとして使用します。ご想像のとおり、ネイティブ部分で実行されていないコードから画面をロックすることはできません。
あなたがAndroidプログラミングの専門家ではない場合、画面をオンにしておくための非常に簡単で簡単な方法を提供できます. 私が推測する WebView を使用する最初のアクティビティでは、onCreate
afterを追加しsuper
ます。
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
最も簡単な方法は、[設定]、[開発者向けオプション] に移動し、[充電中に起きている] を選択することです。何もコーディングする必要はありません!
これは、OPが外部電源に接続されている間、画面をオンにしたままにしたいことを前提としています.
外部電源は、ポータブル USB バッテリと同じくらい簡単です。最終的に空になると、デバイスは通常どおりスリープ状態になりますが、内部バッテリーで機能し続けます。
ここでこの解決策を見つけました: 画面をオンにしたままにすることについて投稿