2016-06-30 6 views
5

Androidアプリでは、(Android設定で)App Notification設定を開く機能が必要なボタンがあります。プログラム通知設定へのアクセス

Screenshot of Android's notification settings for the Camera application

私はこの

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0); 

とAndroidの設定を開くことができますが、私は私のアプリの通知設定で直接開きたい

代替

がある場合プログラムでブロック通知をオンまたはオフにする方法あなたも大丈夫です。

+0

ブール値を追加して保存し、アプリ内で設定を追加します。 – Zoe

+0

[私のアプリのAndroid通知の設定にリンクするには?](https://stackoverflow.com/questions/32366649/anyway-to-link-to-the-android-notification-settings-news-notification-settings) for-my-app) – Przemo

答えて

7

アプリケーションの通知設定に直接リンクするためのパブリックAPIはありません。

Settings.ACTION_APPLICATION_DETAILS_SETTINGSを使用すると、アプリケーションの設定に深くリンクできますが、通知画面には直接アクセスできません。

Any way to link to the Android notification settings for my app?には解決策がありますが、公式APIの一部ではないため、すべてのデバイスまたはAndroidの将来のバージョンで動作することは保証されません。

プログラム的にそれは絶対にありませんあまりにも

OKだろう「ブロックnotificaations」のオンとオフをオンにする方法があります。プログラムによるプログラムによる通知のオン/オフを許可することで、ユーザーは通知のオン/オフを制御できるようになります。

+0

Settings.ACTION_APPLICATION_DETAILS_SETTINGSを使用してください、ありがとう – Ric

0
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
Uri uri = Uri.fromParts("package", getPackageName(), null); 
intent.setData(uri); 
startActivity(intent); 
0

私は、これは古い質問ですけど、将来的には、それを見つけるそれらのため:オレオ(APIレベル26)のように、特定のアプリの通知設定のための公式のディープリンクIntentは、今そこにあります。

Intent settingsIntent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS) 
     .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 
     .putExtra(Settings.EXTRA_APP_PACKAGE, getPackageName()) 
     .putExtra(Settings.EXTRA_CHANNEL_ID, MY_CHANNEL_ID); 
startActivity(settingsIntent); 
EXTRA_CHANNEL_ID

パラメータはオプションであり、the docsによれば、 "そのチャンネルをハイライトします。" であろうFWIW、Android 8.1以降、私はそれが何か違いがあるのか​​分かりません。

関連する問題