###前提・実現したいこと
端末の電源がOFF(シャットダウン)されるときの処理を実装したいです。
【詳細】
端末の電源がOFFされるときに、
稼働中のアプリ(開発中のもの)の処理を中断させたいからです。
中断させたい理由としては、
そのアプリによって頻繁にmicroSDに書き込みが行われているので、
microSDへの書き込み途中で端末の電源をOFFにさせたくないからです。
###試したこと
①BroadcastIntentでシャットダウンの通知を受け取れるように、
ShutdownReceiverクラスを作成
②そのShutdownReceiverクラスで
if(Intent.ACTION_SHUTDOWN.equals(intent.getAction())) {}
と、分岐処理を行うためのコードを実装
③マニフェストにエントリ
<receiver android:name=".ShutdownReceiver">
<intent-filter>
<action android:name="android.intent.action.ACTION_SHUTDOWN" />
</intent-filter>
</receiver>
④パーミッションの追加
<uses-permission android:name="android.permission.DEVICE_POWER" />
###エラー
④のパーミッションを追加する際に
「Permissions with the protection level signature or signatureOrSystem
are only granted to system apps. If an app is a regular non-system app, it will never be able to use these permissions.」
と、使用できないといわれてしまう。
###参考元
Androids.help
BroadcastIntentを受け取る
###補足情報(言語/FW/ツール等のバージョンなど)
環境は以下の通りです。
Android Studio2.3.3
SDK 7.1
API 25
宜しくお願い致します。
あなたの回答
tips
プレビュー