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

提供: MonoBook
ナビゲーションに移動 検索に移動
 
(2人の利用者による、間の2版が非表示)
6行目: 6行目:
 
アクティビティに「WindowManagerFlags.KeepScreenOn」というフラグを設定すると一時的にディスプレイのスリープを抑制できる。この方法は権限が不要であり、アクティビティが遷移する際に自動的に解除される。[[MonoGame]]でもこの方法は有効である。
 
アクティビティに「WindowManagerFlags.KeepScreenOn」というフラグを設定すると一時的にディスプレイのスリープを抑制できる。この方法は権限が不要であり、アクティビティが遷移する際に自動的に解除される。[[MonoGame]]でもこの方法は有効である。
 
<source lang=“csharp”>
 
<source lang=“csharp”>
 +
    public class Activity1 : AndroidGameActivity
 +
    {
 
         protected override void OnCreate(Bundle bundle)
 
         protected override void OnCreate(Bundle bundle)
 
         {
 
         {
13行目: 15行目:
 
             this.Window.AddFlags(WindowManagerFlags.KeepScreenOn);  
 
             this.Window.AddFlags(WindowManagerFlags.KeepScreenOn);  
 
         }
 
         }
 +
    }
 
</source>
 
</source>
  
20行目: 23行目:
  
 
== 関連項目 ==
 
== 関連項目 ==
* [[Xamarin.Android/画面の向きを固定する]]
+
* [[Xamarin.Androidで画面の向きを固定する]]
  
 
== 参考文献 ==
 
== 参考文献 ==

2021年3月5日 (金) 02:24時点における最新版

概要[編集 | ソースを編集]

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

解決策:KeepScreenOn[編集 | ソースを編集]

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

    public class Activity1 : AndroidGameActivity
    {
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

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

解決策:wakelock[編集 | ソースを編集]

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

関連項目[編集 | ソースを編集]

参考文献[編集 | ソースを編集]