「.NET for Androidでディスプレイをスリープさせない」の版間の差分
Administrator (トーク | 投稿記録) 編集の要約なし |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| (同じ利用者による、間の3版が非表示) | |||
| 1行目: | 1行目: | ||
== 概要 == | == 概要 == | ||
無操作でもディスプレイをスリープさせたくない場面も多い。 | 無操作でもディスプレイをスリープさせたくない場面も多い。 | ||
たとえば[[MonoGame]]で作る[[Android]]向けの[[ゲーム]]などである。 | たとえば[[MonoGame]]で作る[[Android]]向けの[[ゲーム]]などである。 | ||
== 環境 == | |||
* Xamarin.Android | |||
* .NET for Android | |||
Xamarin.Androidの頃から変わっていない。 | |||
== 解決策:KeepScreenOn == | == 解決策:KeepScreenOn == | ||
| 8行目: | 14行目: | ||
* アクティビティが遷移する際に自動的に解除されます | * アクティビティが遷移する際に自動的に解除されます | ||
<source lang= | <source lang=csharp> | ||
public class MainActivity : Activity | public class MainActivity : Activity | ||
{ | { | ||
| 22行目: | 28行目: | ||
[[MonoGame]]でもこの方法は有効です。 | [[MonoGame]]でもこの方法は有効です。 | ||
<source lang= | <source lang=csharp> | ||
public class Activity1 : AndroidGameActivity | public class Activity1 : AndroidGameActivity | ||
{ | { | ||
| 40行目: | 46行目: | ||
当然のように素人にはオススメできない代物です。 | 当然のように素人にはオススメできない代物です。 | ||
; 必要な権限 | |||
* <uses-permission android:name="android.permission.WAKE_LOCK" /> | |||
; 大雑把なソース | |||
どうしても使いたい場合はWakeLock利用中のあらゆる暴走をtry/catchして確実にReleaseしてください。 | どうしても使いたい場合はWakeLock利用中のあらゆる暴走をtry/catchして確実にReleaseしてください。 | ||
[[メモリ不足]]などの「アプリ外の影響」「[[OS]]の暴走」も想定しましょう。 | [[メモリ不足]]などの「アプリ外の影響」「[[OS]]の暴走」も想定しましょう。 | ||
<source lang=csharp> | |||
PowerManager? _powerManager; | PowerManager? _powerManager; | ||
PowerManager.WakeLock? _wakelock; | PowerManager.WakeLock? _wakelock; | ||