トップページ > 記事閲覧
Android版:スリープ状態にしない
名前:ギウ 日時: 2017/03/21 07:51

お世話になっております。 Android版で、 アプリが勝手にスリープ状態にならないようにしたり、それを解除したりできるようにしたいです。 調べた感じだと、↓のAndroidのAPIを使えばできるようなのですが(C言語用なのかどうかもわかってませんが;) getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); それとは別に、 DXライブラリ用に作ったプロジェクトで、上記のようなAndroid用のAPIを使用する方法があれば知りたいです。 よろしくお願いいたします。
メンテ

Page: 1 |

Re: Android版:スリープ状態にしない ( No.1 )
名前:管理人 日時:2017/03/23 01:07

こちらは Java のコードですね Java のコードも C++ のコードから実行することができるのですが、 DXライブラリAndroid版での android_main を実行しているスレッドはメインスレッドとは 別のスレッドなので、Android用の API は結構メインスレッド以外のスレッドから呼ぶと クラッシュするものが多いので、仮にそうだとすると少し骨が折れるかもしれません すみません、今週はもう週末まで作業の時間を確保することができそうに無いので、 週末に試してみたいと思います m(_ _;m
メンテ
Re: Android版:スリープ状態にしない ( No.2 )
名前:ギウ 日時:2017/03/23 07:23

ご回答有難うございます! (Javaでしたか、、すみません) >クラッシュするものが多いので、仮にそうだとすると少し骨が折れるかもしれません 了解しました。 こちらでのAPIの使用が難しい場合は無くて大丈夫です。 では、お願いしてるだけで申し訳ありませんがDXライブラリ側でのご対応お待ちしております。
メンテ
Re: Android版:スリープ状態にしない ( No.3 )
名前:管理人 日時:2017/03/26 15:20

少し調べたところ、Android NDK の機能に getWindow().addFlags と getWindow().clearFlags に 相当する機能がありました まず、設定を行う処理を記述するソースでは以下の記述を増やして Android/window.h をインクルード するようにしてください #include <Android/window.h> 次に、例えば getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); と同等の設定を行う場合は ANativeActivity_setWindowFlags( ( ANativeActivity * )GetNativeActivity(), AWINDOW_FLAG_KEEP_SCREEN_ON, 0 ) ; と記述します、 getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); と同じ設定解除を行う場合は ANativeActivity_setWindowFlags( ( ANativeActivity * )GetNativeActivity(), 0, AWINDOW_FLAG_KEEP_SCREEN_ON ) ; と記述します、ANativeActivity_setWindowFlags は void ANativeActivity_setWindowFlags( ANativeActivity* activity, uint32_t addFlags, uint32_t removeFlags ); となっていて、第一引数の ANativeActivity * はDXライブラリAndroid版専用の関数 GetNativeActivity で取得することが できます( 戻り値が const ANativeActivity * なので、ANativeActivity * にキャストしています ) 第二引数の addFlags が、設定したいフラグの指定で、フラグの一覧は Android/window.h に定義されています 第三引数の removeFlags が、設定を解除したいフラグの指定なので、clearFlags と同じ処理を行いたい場合はこちらに 解除したいフラグを指定するというわけです よろしければお試しください m(_ _)m
メンテ
Re: Android版:スリープ状態にしない ( No.4 )
名前:ギウ(解決) 日時:2017/03/26 19:52

情報有難うございます! (どうやって調べたのか、流石です) こちらでも動作確認できました。 詳しいご解説も有難うございます!
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存