「Xamarin.Androidでディスプレイをスリープさせない」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == 無操作でもディスプレイをスリープさせたくない場面も多い。 たとえばMonoGameで作るAndroid向けのゲームなど...」)
 
4行目: 4行目:
  
 
== 解決策:KeepScreenOn ==
 
== 解決策:KeepScreenOn ==
アクティビティに「WindowManagerFlags.KeepScreenOn」というフラグを設定すると一時的にディスプレイのスリープを抑制できる。この方法は権限が不要であり、アクティビティが遷移する際に自動的に解除される。
+
アクティビティに「WindowManagerFlags.KeepScreenOn」というフラグを設定すると一時的にディスプレイのスリープを抑制できる。この方法は権限が不要であり、アクティビティが遷移する際に自動的に解除される。[[MonoGame]]でもこの方法は有効である。
 
<source lang=“csharp”>
 
<source lang=“csharp”>
 
         protected override void OnCreate(Bundle bundle)
 
         protected override void OnCreate(Bundle bundle)

2016年3月30日 (水) 09:35時点における版

概要

無操作でもディスプレイをスリープさせたくない場面も多い。 たとえばMonoGameで作るAndroid向けのゲームなどである。

解決策:KeepScreenOn

アクティビティに「WindowManagerFlags.KeepScreenOn」というフラグを設定すると一時的にディスプレイのスリープを抑制できる。この方法は権限が不要であり、アクティビティが遷移する際に自動的に解除される。MonoGameでもこの方法は有効である。

        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // ディスプレイをスリープさせない
            this.Window.AddFlags(WindowManagerFlags.KeepScreenOn); 
        }

解決策:wakelock

この方法は権限が必要であり、ひとたびディスプレイのスリープを抑制するとアクティビティが遷移しようが何をしようが明示的に解除しない限り延々と抑制される。あまりオススメできない。 よって省略する。

関連項目

参考文献