在Android Lollipop中,当您长按通知时,它可让您访问该通知应用的设置,例如优先级,或者只是阻止它。是否有可以用来访问这些设置的意图?
答案 0 :(得分:5)
在这里找到答案 - 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>
答案 1 :(得分:2)
除了@shmuel的正确答案:
如果你想要这个&#34;应用程序设置&#34;系统按钮跳转到您的应用程序的一个特定片段,该活动源自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>