如何在系统设置中添加通知设置activity
How to add a notification settings activity to the system settings
在 Android 5.0 上,有一个选项可以通过 Settings -> Sound & notification -> App notification -> Calendar (for example)
直接转到应用程序的通知设置。
我也知道它是清单中的标志,如 DEV.BYTES talk.
中所述
怎么实现的,用的flag是什么?
这里有一张截图来说明:
您需要将 Intent
类别 Notification.INTENT_CATEGORY_NOTIFICATION_PREFERENCES
添加到您希望通过 AndroidManifest
发布的 Activity
中。一个简单的例子是这样的:
<activity android:name="com.example.packagename.YourSettingsActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.NOTIFICATION_PREFERENCES" />
</intent-filter>
</activity>
有关详细信息,请参阅“设置”应用,特别是 NotificationAppList
and AppNotificationSettings
片段。
结果
public void goToPushSettingPage(Context context){
Intent intent=new Intent();
if(android.os.Build.VERSION.SDK_INT>Build.VERSION_CODES.N_MR1){
intent.setAction(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
intent.putExtra(Settings.EXTRA_APP_PACKAGE,context.getPackageName());
}else if(android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
intent.putExtra(ConstUtil.PUSH_SETTING_APP_PACKAGE,context.getPackageName());
intent.putExtra(ConstUtil.PUSH_SETTING_APP_UID,context.getApplicationInfo().uid);
}else{
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setData(Uri.parse(ConstUtil.PUSH_SETTING_URI_PACKAGE+context.getPackageName()));
}
startActivity(intent);
}
在 Android 5.0 上,有一个选项可以通过 Settings -> Sound & notification -> App notification -> Calendar (for example)
直接转到应用程序的通知设置。
我也知道它是清单中的标志,如 DEV.BYTES talk.
中所述
怎么实现的,用的flag是什么?
这里有一张截图来说明:
您需要将 Intent
类别 Notification.INTENT_CATEGORY_NOTIFICATION_PREFERENCES
添加到您希望通过 AndroidManifest
发布的 Activity
中。一个简单的例子是这样的:
<activity android:name="com.example.packagename.YourSettingsActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.NOTIFICATION_PREFERENCES" />
</intent-filter>
</activity>
有关详细信息,请参阅“设置”应用,特别是 NotificationAppList
and AppNotificationSettings
片段。
结果
public void goToPushSettingPage(Context context){
Intent intent=new Intent();
if(android.os.Build.VERSION.SDK_INT>Build.VERSION_CODES.N_MR1){
intent.setAction(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
intent.putExtra(Settings.EXTRA_APP_PACKAGE,context.getPackageName());
}else if(android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
intent.putExtra(ConstUtil.PUSH_SETTING_APP_PACKAGE,context.getPackageName());
intent.putExtra(ConstUtil.PUSH_SETTING_APP_UID,context.getApplicationInfo().uid);
}else{
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setData(Uri.parse(ConstUtil.PUSH_SETTING_URI_PACKAGE+context.getPackageName()));
}
startActivity(intent);
}