В Android Lollipop, когда вы долго нажимаете на уведомление, оно дает вам доступ к настройкам этого приложения для уведомлений, таким как приоритет или просто его блокировка. Есть ли намерение, которое я могу использовать для доступа к этим настройкам?
Настройки уведомлений приложения Android Lollipop
Ответы (2)
Ответ нашел здесь - https://plus.google.com/+CyrilMottier/posts/YY6tbJrJMra< /а>
Вам нужно добавить это к действию, которое вы хотите прикрепить к этому значку настроек.
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.NOTIFICATION_PREFERENCES" />
</intent-filter>
В дополнение к правильному ответу от @shmuel:
Если вы хотите, чтобы эта системная кнопка «Настройки приложения» переходила к одному конкретному фрагменту действия «Настройки» вашего приложения, полученного из PreferenceActivity, вы можете создать фиктивное промежуточное действие для обработки фильтра намерений, как указано выше, а затем в этом действии вы просто делать:
public class DeepSettingsFragmentDummyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent settingsIntent = new Intent(this, SettingsActivity.class);
// Standard mechanism for a PreferenceActivity intent to indicate
// which fragment to activate automatically.
settingsIntent.putExtra( PreferenceActivity.EXTRA_SHOW_FRAGMENT,
YourTargetPreferenceFragment.class.getName());
startActivity(settingsIntent);
finish();
}
}
Этот код автоматически запускает фрагмент YourTargetPreferenceFragment
, а затем закрывает себя (finish()
), чтобы не оставаться в стеке действий, когда пользователь нажимает «Назад».
Ваш манифест должен содержать:
<activity
android:name=".DeepSettingsFragmentDummyActivity"
android:label="...">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.NOTIFICATION_PREFERENCES" />
</intent-filter>
</activity>