Androidはワンツーパンチ 三歩進んで二歩下がる

プログラミングやどうでもいい話

ねこシェアハウス299さんで「ネームプレート掲載+WEBサイトにお名前掲載」と「里親会に行こう!宣言エコバッグ+手ぬぐい」を購入してみたよ

こんにちは。熊本の地震被害が大きいですね。
お住まいの人々も心配ですが、ペットさんたちも気になります。
無事飼い主さんのところに戻れますように。

ねこシェアハウス299さんで「ネームプレート掲載+WEBサイトにお名前掲載」と「里親会に行こう!宣言エコバッグ+手ぬぐい」を購入してみました。
売上が野良猫の不妊去勢手術費にあてられます。

www.neko299.info


f:id:sakura_bird1:20160416212042j:plain


昨日エコバッグと手ぬぐい届きました。可愛いのです(=^・^=)
使うのも楽しみです。
ウェブサイトお名前掲載ももう少ししたら掲載されるんじゃないかと思います。

支援した形が残るのも嬉しいものですね。

Android 6.0 Marshmallow(API level 23) で導入されたDozeでダイアログから電池の最適化の無視を許可したのに設定画面の「最適化してないアプリ」一覧には反映されない問題

こんにちは。最近体調が不安定です。

Android 6.0 Marshmallow(API level 23) で導入されたDozeという機能があります。
Optimizing for Doze and App Standby | Android Developers

電池を長持ちさせるために、一定時間以上ユーザーがスマフォにアクセスしないとDozeモードが始まりアプリはネットワークやCPUの消費が激しい動きを制限されます。
Dozeモードはデフォルトでアプリに適用されています。「設定画面」→「電池」→「電池の最適化」を選ぶと「最適化してないアプリ」が表示されますが、ここを「すべてのアプリ」に切り替えてアプリ一覧を表示してどれかアプリをクリックすると最適化するかしないか選択するダイアログが表示されます。

こうしたDoze(やApp Standby)の機能にそぐわないアプリケーションの場合ホワイトリストに追加することで部分的にDozeモードから逃れることが出来ます。
ホワイトリストへの追加方法は以下の2種類です。

・上記の「設定画面」→「電池」→「電池の最適化」→「すべてのアプリ」→「アプリを選択後に表示されるダイアログから最適化しないを選択」
・AndroidManifestに「REQUEST_IGNORE_BATTERY_OPTIMIZATIONS」パーミッションを記述する。
http://developer.android.com/reference/android/Manifest.permission.html#REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
「ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS」をIntentにセットし許可ダイアログを表示する。
http://developer.android.com/reference/android/provider/Settings.html#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS


具体的には以下の様なコードになると思います。

<!-- AndroidManifest.xml -->
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
        Intent intent = new Intent();
        String packageName = getPackageName();
        PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            if (pm.isIgnoringBatteryOptimizations(packageName))
                intent.setAction(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS);
            else {
                intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
                intent.setData(Uri.parse("package:" + packageName));
            }
            startActivity(intent);
        }

stackoverflow.com
こちらからコピペしてきたコードですので、説明などは参照元をみていただければと思います。

ここまでが前提なのですが、上記でユーザーがダイアログから許可をした場合に、設定画面の「最適化してないアプリ」一覧には反映されないという問題にぶちあたってしばらく悩みました。
こちらのサイト様で書いてくださっていますが、どうもAndroid側に問題があるようです。

qiita.com

許可したのに反映されてない画面

しょうがないので、adbのコマンドで確認します。(すぐ上でリンクしているqiitaのページにのっています。)

$ adb shell dumpsys deviceidle whitelist

結果に目的のアプリのパッケージが含まれていればホワイトリストに追加されていると確認することができます。

f:id:sakura_bird1:20160407001733p:plain

公益財団法人どうぶつ基金に4000円寄付しました

時折こういった団体に寄付をしているのですが、金額ショボいし、「いい人アピール」っぽく感じて黙ってやっていました。
ですが今回から公開していくよう方針を変更しました。
動物好きな人と会話のきっかけになるかもしれないですし!
意識高まって動物保護のアイデアが出てくるかもしれないですし(ΦωΦ)

どうぶつ基金は犬猫の不妊手術なんかに使われます。
手術後はどうぶつの耳に手術したというお印を付けるので、少しは地域で生きやすくなるでしょう。

www.doubutukikin.or.jp


ここはクレジットカードで寄付が出来て楽ちんなんですよ。
寄付金控除の対象にもなります。
確定申告の時に申告すれば税金が返ってくるかもしれませんよ。
私はあんまり税金払えるほど稼いでないのであれだけど😁

f:id:sakura_bird1:20160402190711p:plain