「Xamarin.Androidでディスプレイをスリープさせない」の版間の差分
ナビゲーションに移動
検索に移動
Administrator (トーク | 投稿記録) (→関連項目) |
|||
(2人の利用者による、間の4版が非表示) | |||
4行目: | 4行目: | ||
== 解決策:KeepScreenOn == | == 解決策:KeepScreenOn == | ||
− | アクティビティに「WindowManagerFlags.KeepScreenOn」というフラグを設定すると一時的にディスプレイのスリープを抑制できる。この方法は権限が不要であり、アクティビティが遷移する際に自動的に解除される。 | + | アクティビティに「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. | + | * [[Xamarin.Androidで画面の向きを固定する]] |
== 参考文献 == | == 参考文献 == | ||
27行目: | 30行目: | ||
{{stub}} | {{stub}} | ||
− | [[category:Xamarin. | + | [[category:Xamarin.Android]] |
[[category:MonoGame]] | [[category:MonoGame]] |
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[編集 | ソースを編集]
この方法は権限が必要であり、ひとたびディスプレイのスリープを抑制するとアクティビティが遷移しようが何をしようが明示的に解除しない限り延々と抑制される。あまりオススメできない。 よって省略する。