本文整理汇总了Java中android.app.NotificationManager.isNotificationPolicyAccessGranted方法的典型用法代码示例。如果您正苦于以下问题:Java NotificationManager.isNotificationPolicyAccessGranted方法的具体用法?Java NotificationManager.isNotificationPolicyAccessGranted怎么用?Java NotificationManager.isNotificationPolicyAccessGranted使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.app.NotificationManager
的用法示例。
在下文中一共展示了NotificationManager.isNotificationPolicyAccessGranted方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onResume
import android.app.NotificationManager; //导入方法依赖的package包/类
@Override
protected void onResume() {
super.onResume();
//initialise location permissions checkbox
CheckBox locationPermissionsCheckBox = (CheckBox) findViewById(R.id.location_permission_checkbox);
if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.ACCESS_FINE_LOCATION)!= PackageManager.PERMISSION_GRANTED){
locationPermissionsCheckBox.setChecked(false);
}
else {
locationPermissionsCheckBox.setChecked(true);
locationPermissionsCheckBox.setEnabled(false);
}
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT>=24 && !notificationManager.isNotificationPolicyAccessGranted()){
mRingerPermissionCheckBox.setChecked(false);
}
else {
mRingerPermissionCheckBox.setChecked(true);
mRingerPermissionCheckBox.setEnabled(false);
}
}
示例2: setRingerMode
import android.app.NotificationManager; //导入方法依赖的package包/类
/**
* Changes the ringer mode on the device to either silent or back to normal
*
* @param context The context to access AUDIO_SERVICE
* @param mode The desired mode to switch device to, can be AudioManager.RINGER_MODE_SILENT or
* AudioManager.RINGER_MODE_NORMAL
*/
public static void setRingerMode(Context context, int mode){
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT<24 || (Build.VERSION.SDK_INT>=24 && !notificationManager.isNotificationPolicyAccessGranted())){
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
audioManager.setRingerMode(mode);
}
}
示例3: onResume
import android.app.NotificationManager; //导入方法依赖的package包/类
@Override
protected void onResume() {
super.onResume();
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
NotificationManager mNotificationManager = (NotificationManager) getApplication().getSystemService(Context.NOTIFICATION_SERVICE);
if (mNotificationManager.isNotificationPolicyAccessGranted()) {
permissionStatus.setText("DND permission granted for Phone.");
} else {
permissionStatus.setText("To enable synchronization to Phone, please grant DND modification permissions to 'Wear DND Sync' application.");
}
}
}
示例4: onMessageReceived
import android.app.NotificationManager; //导入方法依赖的package包/类
@Override
public void onMessageReceived(MessageEvent messageEvent) {
if (messageEvent.getPath().equalsIgnoreCase(DND_SYNC_PREFIX)) {
// Read the received ringer or dnd mode and convert it back to an integer
int newMode = Integer.parseInt(new String(messageEvent.getData()));
if (SEND_RINGER_MODE) {
Log.d(TAG, "Received new ringer mode " + newMode + " from source " + messageEvent.getSourceNodeId());
} else {
Log.d(TAG, "Received new dnd mode " + newMode + " from source " + messageEvent.getSourceNodeId());
}
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// Check if the notification policy access has been granted for the app
// This is needed to set modes that affect Do Not Disturb in Android N
if (mNotificationManager.isNotificationPolicyAccessGranted()) {
if (SEND_RINGER_MODE) {
Log.d(TAG, "Attempting to set ringer mode " + newMode);
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
if (newMode == AudioManager.RINGER_MODE_SILENT) {
audioManager.setRingerMode(newMode);
} else {
// Set the saved "normal" value
audioManager.setRingerMode(getNormalRingerMode());
}
} else {
Log.d(TAG, "Attempting to set dnd mode " + newMode);
mNotificationManager.setInterruptionFilter(newMode);
}
} else {
Log.d(TAG, "App is not allowed to change Do Not Disturb mode without applying workaround");
}
} else {
super.onMessageReceived(messageEvent);
}
}
示例5: initAudioManager
import android.app.NotificationManager; //导入方法依赖的package包/类
private void initAudioManager() {
mAudioManager = (AudioManager) mAppContext.getSystemService(Context.AUDIO_SERVICE);
int mode = mAudioManager.getRingerMode();
if (mode == AudioManager.RINGER_MODE_VIBRATE
|| mode == AudioManager.RINGER_MODE_SILENT) {
// Normal mode will be audible and may vibrate according to user settings.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
NotificationManager n = (NotificationManager) mAppContext.getSystemService(Context.NOTIFICATION_SERVICE);
boolean isPolicyGranted = n != null && n.isNotificationPolicyAccessGranted();
// fixme 7.0手机 如果没有这个权限 直接调用setRingerMode会报出 Not allowed to change Do Not Disturb state的异常.
if (isPolicyGranted) {
mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
}
} else {
mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
}
}
mAudioMaxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
int audioCurrentVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
if (mAudioMaxVolume != 0) {
mCurrentVolume = (int) (((float) audioCurrentVolume / (float) mAudioMaxVolume) * 100);
}
PlayerLog.d(TAG, "initAudioManager mCurrentVolume is " + mCurrentVolume +
" , mAudioMaxVolume is " + mAudioMaxVolume +
" , audioCurrentVolume is " + audioCurrentVolume);
}
示例6: checkPermissionForRingtone
import android.app.NotificationManager; //导入方法依赖的package包/类
private static void checkPermissionForRingtone(Activity activity){
NotificationManager notificationManager =
(NotificationManager) activity.getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
&& !notificationManager.isNotificationPolicyAccessGranted()) {
Intent intent = new Intent(
android.provider.Settings
.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS);
activity.startActivity(intent);
}
}
示例7: onMessageReceived
import android.app.NotificationManager; //导入方法依赖的package包/类
@Override
public void onMessageReceived(MessageEvent messageEvent) {
Log.d(TAG, "onMessageReceived: " + messageEvent);
switch (messageEvent.getPath()) {
case PATH_DND:
if (messageEvent.getData().length == 0)
return;
int state = (int) messageEvent.getData()[0];
Log.d(TAG, "Target state: " + state);
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
if (state != NotificationManager.INTERRUPTION_FILTER_ALL)
state = NotificationManager.INTERRUPTION_FILTER_ALARMS;
if (state == (int) notificationManager.getCurrentInterruptionFilter())
return;
if (notificationManager.isNotificationPolicyAccessGranted())
notificationManager.setInterruptionFilter(state);
} else if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Intent intent = new Intent(LGHackService.ACTION_SET_STATE);
intent.putExtra(LGHackService.EXTRA_STATE, (int) messageEvent.getData()[0]);
sendBroadcast(intent);
} else {
AudioManager audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
state = state == 4 ? AudioManager.RINGER_MODE_SILENT : AudioManager.RINGER_MODE_NORMAL;
//INTERRUPTION_FILTER_ALARMS
if (state == audioManager.getRingerMode())
return;
audioManager.setRingerMode(state);
}
return;
case PATH_DND_REGISTER:
if (messageEvent.getData().length == 0)
return;
Intent connectIntent = new Intent(WEAR_CALLBACK_CONNECT);
if (messageEvent.getData().length > 1) {
DataMap config = DataMap.fromByteArray(messageEvent.getData());
connectIntent.putExtra("permission", config.getBoolean("permission"));
}
sendBroadcast(connectIntent);
Log.d(TAG, "Connected broadcast");
return;
case PATH_LOGS:
if (messageEvent.getData().length == 0)
return;
Intent logIntent = new Intent(WEAR_CALLBACK_LOGS);
logIntent.putExtra("log", new String(messageEvent.getData()));
sendBroadcast(logIntent);
Log.d(TAG, "Logs broadcast");
return;
}
}
示例8: onMessageReceived
import android.app.NotificationManager; //导入方法依赖的package包/类
@Override
public void onMessageReceived(MessageEvent messageEvent) {
if (messageEvent.getPath().equalsIgnoreCase(DND_SYNC_PREFIX)) {
// Read the received ringer or dnd mode and convert it back to an integer
int newMode = Integer.parseInt(new String(messageEvent.getData()));
if (SEND_RINGER_MODE) {
Log.d(TAG, "Received new ringer mode " + newMode + " from source " + messageEvent.getSourceNodeId());
} else {
Log.d(TAG, "Received new dnd mode " + newMode + " from source " + messageEvent.getSourceNodeId());
}
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// Check if the notification policy access has been granted for the app
// This is needed to set modes that affect Do Not Disturb in Android N
if (mNotificationManager.isNotificationPolicyAccessGranted() || Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
if (SEND_RINGER_MODE) {
Log.d(TAG, "Attempting to set ringer mode " + newMode);
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
if (newMode == AudioManager.RINGER_MODE_SILENT) {
audioManager.setRingerMode(newMode);
} else {
// Set the saved "normal" value
audioManager.setRingerMode(getNormalRingerMode());
}
} else {
Log.d(TAG, "Attempting to set dnd mode " + newMode);
mNotificationManager.setInterruptionFilter(newMode);
}
} else {
Log.i(TAG, "Unable to set new ringer mode due to lack of permissions on device");
Log.i(TAG, "Launching permissions settings activity on the device");
Intent intent = new Intent(android.provider.Settings.ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
} else {
super.onMessageReceived(messageEvent);
}
}