Edited at

Android で通知&プリインストールの設定アプリから自作アプリを起動してみた件

More than 1 year has passed since last update.


以前から気になっていた事 :thought_balloon:



:one: 通知 (Notification) について



Android 5.0 〜 6.0.1 (Lollipop & Marshmallow) の場合



通知を長押し :point_up_2_tone1:



  • :gear:表示される 通知と 表示されない 通知がある

:gear: あり

:gear: 無し

Screenshot_2017-08-14-21-56-04.png
Screenshot_2017-08-14-21-55-54.png



:gear: 設定 > [アプリの通知]


  • 「アプリの設定」ボタンが 表示される アプリと 表示されない アプリがある

ボタンあり
ボタン無し

20170815_203002.jpg
20170815_203757.jpg



Android 7.0 (Nougat) の場合



通知をスライド :dash:


  • アイコンは :gear: のみ(全アプリ共通)


  • :gear: をタップすると 設定 > [アプリの通知] に遷移

Screenshot_20170811-213338.png



:gear: 設定 > [アプリの通知]



  • :information_source: のアイコンが 表示される アプリと 表示されない アプリがある

:information_source: のアイコンあり

:information_source: のアイコン無し

Googleアプリのi.png
Screenshot_20170811-175251.png

(※ :copyright: Galaxy S8



Android 8.0 (Oreo) の場合



通知をスライド :dash:


  • アイコンは :gear::clock4:(全アプリ共通)


  • :gear: をタップすると「アプリの通知カテゴリ」に切り替わる

Screenshot_1505638863.png



:gear: 設定 > [アプリの通知]


  • 「アプリ内のその他の設定」ボタンが 表示される アプリと 表示されない アプリがある

ボタンあり
ボタン無し

Screenshot_1505640671.png
Screenshot_1505640682.png



Android バージョン別まとめ


  • 5.0 〜 6.0.1 (Lollipop & Marshmallow)


    • 通知の :gear: アイコン


    • 設定 > [アプリの通知] の「アプリの設定」ボタン



  • 7.0 (Nougat)



    • 設定 > [アプリの通知] の :information_source: アイコン



  • 8.0 (Oreo)



    • 設定 > [アプリの通知] の「アプリ内のその他の設定」ボタン





タップすると :point_down_tone1:



例:Google アプリの場合



  • Google アプリ内の通知に関する設定画面に遷移する(Android 7.0)



自作アプリへのリンクを表示する方法を調査してみました :computer:



記事がありました :eyes:


方法



  • AndroidManifest.xml<intent-filter> を追加


AndroidManifest.xml

……

<activity android:name=".NotificationPreferencesActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.NOTIFICATION_PREFERENCES" />
</intent-filter>
</activity>
……



INTENT_CATEGORY_NOTIFICATION_PREFERENCES について


  • 通知に関する設定の Activity に指定する

  • Android 5.0 (Lollipop) から有効 :lollipop:


対応アプリ



  • Twitter


    • 「リツイート」や「いいね」など受信するプッシュ通知の選択が可能

    • バイブレーション・着信音・通知ランプに関する設定も :u6709:

    • 未ログイン or ログイン済みの場合で遷移が異なる





もう1つ気になっていたこと :thinking:



:two: 設定アプリ (com.android.settings) の [データ使用量] について



:gear: 設定 > [アプリケーション情報]


  • [モバイルデータ] をタップ :point_down_tone1:



> [モバイルデータ] > [データ使用量]


  • 「アプリの設定を表示」ボタンが 表示される アプリと 表示されない アプリがある

ボタンあり
ボタンなし

データ使用量リンク.png
Screenshot_20170811-175331.png



「アプリの設定を表示」をタップすると :point_down_tone1:



例:YouTube アプリの場合



  • YouTube アプリ内の設定画面に遷移



YouTube の [設定] > [全般] をタップ :point_down_tone1:


  • モバイルデータに関する設定項目がある



「アプリの設定を表示」ボタンを有効にする方法を調べてみました :computer:



発見しました :eyes:


方法



  • AndroidManifest.xml<intent-filter> を追加


AndroidManifest.xml

……

<activity android:name=".ManageNetworkUsageActivity">
<intent-filter>
<action android:name="android.intent.action.MANAGE_NETWORK_USAGE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
……



ACTION_MANAGE_NETWORK_USAGE について


  • ネットワーク利用に関する設定の Activity に指定する

  • Android 4.0 (Ice Cream Sandwich) から有効 :ice_cream:


対応アプリ


  • Google Play ストア


    • アプリの自動更新に関する設定が可能

    • (自動更新にするとデータ通信料が発生する場合がある)





まとめ



  • Google 謹製のアプリ以外でサポートされているケースは僅か

  • マイナー機能なので対応することで得をするユーザーは少ない(?)


    • Android 熟練者の利便性向上には繋がりそう





:end:



近況


  • 最近、上司から「まだ Kotlin やらないの?」という圧を感じます

Screenshot_20170816-023704.png

※ 2017 年 5 月 12 日放送の『クレイジージャーニー』でロシアの Kotlin 島に上陸していました :motorboat:



:end: