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

編集の要約なし
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
== 概要 ==
== 概要 ==
無操作でもディスプレイをスリープさせたくない場面も多い。
無操作でもディスプレイをスリープさせたくない場面も多い。
たとえば[[MonoGame]]で作る[[Android]]向けの[[ゲーム]]などである。
たとえば[[MonoGame]]で作る[[Android]]向けの[[ゲーム]]などである。
== 環境 ==
* Xamarin.Android
* .NET for Android
Xamarin.Androidの頃から変わっていない。


== 解決策:KeepScreenOn ==
== 解決策:KeepScreenOn ==
8行目: 14行目:
* アクティビティが遷移する際に自動的に解除されます
* アクティビティが遷移する際に自動的に解除されます


<source lang=“csharp”>
<source lang=csharp>
public class MainActivity : Activity
public class MainActivity : Activity
{
{
22行目: 28行目:


[[MonoGame]]でもこの方法は有効です。
[[MonoGame]]でもこの方法は有効です。
<source lang=“csharp”>
<source lang=csharp>
public class Activity1 : AndroidGameActivity
public class Activity1 : AndroidGameActivity
{
{
46行目: 52行目:
どうしても使いたい場合はWakeLock利用中のあらゆる暴走をtry/catchして確実にReleaseしてください。
どうしても使いたい場合はWakeLock利用中のあらゆる暴走をtry/catchして確実にReleaseしてください。
[[メモリ不足]]などの「アプリ外の影響」「[[OS]]の暴走」も想定しましょう。
[[メモリ不足]]などの「アプリ外の影響」「[[OS]]の暴走」も想定しましょう。
<source lang="csharp">
<source lang=csharp>
 
PowerManager? _powerManager;
PowerManager? _powerManager;
PowerManager.WakeLock? _wakelock;
PowerManager.WakeLock? _wakelock;