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

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

【緊急】熊本の猫カフェ キャットシェルターかごにゃんさんに5000円寄付しました

こんにちは。
私は朝が苦手です。猫たちと暮らしていた時はよく明け方に起こされました。
寝てるところをほっぺたを舐めて起こしてくるんだけど、起きないと激しくジョリジョリ舐めてきて顔が痛いんですね。(猫の舌は棘みたいのがたくさん生えているのです)
ほっぺたヒリヒリさせながら要求されるままご飯をあげた、幸せな朝でした。

表題の件ですが、保護猫活動を行っている猫カフェを見つけました。

www.kagonyan.com

サイトをみたところ地震被害で大変なようです。

沢山のご心配の声を頂きありがとうございます。
 
新市街店、並木坂店共に被害を受け猫たちのストレスも大きく食欲や排便をしなかったり
嘔吐や血便を繰り返す子が沢山います。
当初は被害はすぐに復旧できると思いましたが物流が途絶え営業の再開もいつになるか分からず、
猫たちの医療費、生活費の資金源を断たれている状態です。
 
配送業者各社とも熊本までの物流が配達不可となっているそうで
緊急で必要な物は福岡まで買いに行っております。
避難所へ避難されてる里親様からかごにゃん卒業生の一時預かりもしており
猫用のゲージ、トイレが足りません。

えさは直前に50kgほど注文していたので2週間位は大丈夫そうです。
 
よろしければ皆様からのご支援をよろしくお願いいたします。

少ないけど5000円寄付しました。

私は特に猫に思い入れが強いので、猫関係への支援を中心にしていますが他にも支援先を
まとめてくださっている方がいましたのでリンクしておきます。

shiba-maru-hokkaido.com

ねこシェアハウス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