下面列出了android.preference.Preference#OnPreferenceClickListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/***
* Android 4 and under can enable/disable notifications per app .. the setting is located in App details.
* Android 5 adds the ability to display notifications on the lock screen (global) .. global lock screen setting is in "Sound Settings".
* Android 7 extends the ability to display notifications on the lock screen (per app) .. app lock screen setting is in App details.
* Android 8 adds the ability to enable/disable notifications per channel. .. TODO
*/
private static Preference.OnPreferenceClickListener onNotificationPrefsClicked(final Context context)
{
final boolean notificationsOnLockScreen = notificationsOnLockScreen(context);
return new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference)
{
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
{
openNotificationSettings(context);
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if (!notificationsOnLockScreen) {
openSoundSettings(context);
} else {
openNotificationSettings(context);
}
} else {
openNotificationSettings(context);
}
return false;
}
};
}
@Override
protected void onPostExecute(Void result) {
CharSequence[] appNamesList = appNames
.toArray(new CharSequence[appNames.size()]);
CharSequence[] packageNamesList = packageNames
.toArray(new CharSequence[packageNames.size()]);
enabledApps.setEntries(appNamesList);
enabledApps.setEntryValues(packageNamesList);
enabledApps.setEnabled(true);
disabledApps.setEntries(appNamesList);
disabledApps.setEntryValues(packageNamesList);
disabledApps.setEnabled(true);
Preference.OnPreferenceClickListener listener = new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
((MultiSelectListPreference) preference).getDialog().getWindow().setLayout(WindowManager.LayoutParams.FILL_PARENT, WindowManager.LayoutParams.FILL_PARENT);
return false;
}
};
enabledApps.setOnPreferenceClickListener(listener);
disabledApps.setOnPreferenceClickListener(listener);
}
private static Preference.OnPreferenceClickListener onVolumesPrefsClicked(final Context context)
{
return new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference)
{
openSoundSettings(context);
return false;
}
};
}
private static Preference.OnPreferenceClickListener onBatteryOptimizationClicked(final Context context)
{
return new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
if (Build.VERSION.SDK_INT >= 23) {
context.startActivity(new Intent(Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS));
}
return false;
}
};
}
@SmallTest
public void testOnPreferenceClickExecutesInstallWatchFace(){
Preference.OnPreferenceClickListener onPreferenceClickListener = _installPreference.getOnPreferenceClickListener();
boolean b = onPreferenceClickListener.onPreferenceClick(new Preference(_targetContext));
verify(_watchFaceMock, times(1)).execute(any(Context.class), any(IMessageMaker.class), any(String.class));
}
public static Preference Preference(Context context, PreferenceCategory category, String caption, String summary, boolean enabled, Preference.OnPreferenceClickListener onClick) {
Preference retval = new Preference(context);
retval.setTitle(caption);
retval.setSummary(summary);
retval.setEnabled(enabled);
if (onClick != null) {
retval.setOnPreferenceClickListener(onClick);
}
if (category != null) category.addPreference(retval);
return retval;
}
public static Preference Preference(Context context, PreferenceCategory category, int caption, int summary, boolean enabled, Preference.OnPreferenceClickListener onClick) {
Preference retval = new Preference(context);
if (caption > 0) retval.setTitle(caption);
if (summary > 0) retval.setSummary(summary);
retval.setEnabled(enabled);
if (onClick != null) {
retval.setOnPreferenceClickListener(onClick);
}
if (category != null) category.addPreference(retval);
return retval;
}
public S hasPreferenceClickListener(Preference.OnPreferenceClickListener listener) {
isNotNull();
Preference.OnPreferenceClickListener actualListener = actual.getOnPreferenceClickListener();
assertThat(actualListener) //
.overridingErrorMessage("Expected preference click listener <%s> but was <%s>.", listener,
actualListener) //
.isSameAs(listener);
return myself;
}
@SmallTest
public void testInstallListener() {
Preference.OnPreferenceClickListener onPreferenceClickListener = _installPreference.getOnPreferenceClickListener();
assertNotNull(onPreferenceClickListener);
}