从 Android 应用程序设置导航到相应的应用程序设置
Navigate from Android application settings to corresponding app settings
在 whatsapp 应用程序中,当我们转到:
设置-->应用管理器-->whatsapp-->应用信息-->通知
有一个名为显示设置或设置按钮的选项(仅限牛轧糖)。
单击该按钮,将加载 whatsapp 设置页面。
知道怎么做吗?或者是否有可用于自定义设置的文档?
我建议打开应用程序设置屏幕
public static void startInstalledAppDetailsActivity(final Activity context) {
if (context == null) {
return;
}
final Intent i = new Intent();
i.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
i.addCategory(Intent.CATEGORY_DEFAULT);
i.setData(Uri.parse("package:" + context.getPackageName()));
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
i.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
context.startActivity(i);
}
或者试试这个
public static Intent newAppDetailsIntent(Context context, String packageName) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse("package:" + packageName));
return intent;
} else if (Build.VERSION.SDK_INT == Build.VERSION_CODES.FROYO) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName("com.android.settings",
"com.android.settings.InstalledAppDetails");
intent.putExtra("pkg", packageName);
return intent;
}
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName("com.android.settings",
"com.android.settings.InstalledAppDetails");
intent.putExtra("com.android.settings.ApplicationPkgName", packageName);
return intent;
}
尝试在您的清单文件中添加以下代码,以便在单击“设备设置”中的“应用程序设置”后显示特定的activity:
<intent-filter android:priority="1">
<action android:name="android.settings.APP_NOTIFICATION_SETTINGS" />
</intent-filter>
<category android:name="android.intent.category.NOTIFICATION_PREFERENCES" />
添加具有上述类别的 Intent 过滤器会在您的应用信息 > 通知页面中添加设置选项。
在 whatsapp 应用程序中,当我们转到: 设置-->应用管理器-->whatsapp-->应用信息-->通知 有一个名为显示设置或设置按钮的选项(仅限牛轧糖)。 单击该按钮,将加载 whatsapp 设置页面。
知道怎么做吗?或者是否有可用于自定义设置的文档?
我建议打开应用程序设置屏幕
public static void startInstalledAppDetailsActivity(final Activity context) {
if (context == null) {
return;
}
final Intent i = new Intent();
i.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
i.addCategory(Intent.CATEGORY_DEFAULT);
i.setData(Uri.parse("package:" + context.getPackageName()));
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
i.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
context.startActivity(i);
}
或者试试这个
public static Intent newAppDetailsIntent(Context context, String packageName) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse("package:" + packageName));
return intent;
} else if (Build.VERSION.SDK_INT == Build.VERSION_CODES.FROYO) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName("com.android.settings",
"com.android.settings.InstalledAppDetails");
intent.putExtra("pkg", packageName);
return intent;
}
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName("com.android.settings",
"com.android.settings.InstalledAppDetails");
intent.putExtra("com.android.settings.ApplicationPkgName", packageName);
return intent;
}
尝试在您的清单文件中添加以下代码,以便在单击“设备设置”中的“应用程序设置”后显示特定的activity:
<intent-filter android:priority="1">
<action android:name="android.settings.APP_NOTIFICATION_SETTINGS" />
</intent-filter>
<category android:name="android.intent.category.NOTIFICATION_PREFERENCES" />
添加具有上述类别的 Intent 过滤器会在您的应用信息 > 通知页面中添加设置选项。