2013-08-13 10 views
8

にアクセスするにはどうすればこのコードでアクセスできますか?だから私は自動的にユーザーのためにそれを開くことができ、彼らはそれを有効にするセキュリティ設定を狩りする必要はありません。Android 4.3の新しい通知設定にコード

startActivity(new Intent(Settings.<>));を使用してAndroidスタジオで見つけることができません。<>は設定画面の一覧です。 Androidの警察の

Notification Access Screen

画像提供:

+0

1+通知リスナーがインストールされている場合、これが唯一の設定でセキュリティ画面に表示される可能性があります。 – CommonsWare

+0

通知リスナーと「Android用ActiveNotifications」アプリ(アプリを開くと設定画面がポップアップ表示されます)と一緒にアプリをインストールしましたが、まだ表示されません。 – adefran83

+0

私は本当にばかげていると感じました。一度インストールしてしまえば表示されますが、ユーザーのために自動的に開きたいので、狩りをする必要はありません。それを反映するために私の質問を編集します。 – adefran83

答えて

23

通知リスナー画面アクションがSettingsに記載されていないのAndroid 4.3でan outstanding bugがあります。現在の回避策は次のとおりです。

startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS")); 
+0

ありがとう!完璧に働いた。 – adefran83

+0

私はこれを私のアプリで使っていましたが、今度はアプリが起動するたびに開きます。ユーザーがアクセスのためにアプリを選択していない場合にのみ開くようにする方法はありますか? –

+1

@AbhyudayaSrinet:私は 'NotificationListenerService'で遊んだことはありません。リスナーとして有効になっているかどうかを調べ、リスナーとして有効になっていない場合にのみアクティビティを開始する必要があります。私はどのように正確にそれを行うためにこの分野を研究していない。 – CommonsWare

2

@CommonsWareがhas been fixed as of Android 5.1 (API 22)を述べbug。私は複数のGenymotionインスタンス(4.3、4.4、5.1)だけでなく、ギャラクシーS3の実行全体でこれをテストしてみた

startActivity(new Intent(Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS));

:あなたは今通知アクセス画面にユーザをもたらすためにこれを使用することができます4.3であり、このソリューションはいずれの場合も完全に機能しています。

は不思議しかし、Androidのメーカーは、それが問題なく動作するという事実にもかかわらず、私は事前にAPI 22件のプロジェクトでは、このフィールドを使用するときに私に警告を与えて行います。

フィールドは、API 22が必要です(現在の分が18です) :android.provider.Settings#1 ACTION_NOTIFICATION_LISTENER_SETTINGS

私はこの警告は安全に同様にあなたがプラットフォームのすべてのバージョンにBuild.VERSION_CODESからの値を使用することができますどのように、無視することができなければならないと考えています。ドキュメントへ

リンク:Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS

関連する問題