android.provider.Settings#ACTION_MANAGE_WRITE_SETTINGS源码实例Demo

下面列出了android.provider.Settings#ACTION_MANAGE_WRITE_SETTINGS 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: music_player   文件: MainActivity.java
private void setAsRingtone(final Activity context, int position) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.System.canWrite(context)) {
            Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS, Uri.parse("package:" + context.getPackageName()));
            context.startActivity(intent);
        } else {
            File music = new File(MyApplication.getMusicListNow().get(position).getMusicData()); // path is a file to /sdcard/media/ringtone
            ContentValues values = new ContentValues();
            values.put(MediaStore.MediaColumns.DATA, music.getAbsolutePath());
            values.put(MediaStore.MediaColumns.TITLE, MyApplication.getMusicListNow().get(position).getMusicTitle());
            values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
            values.put(MediaStore.Audio.Media.ARTIST, MyApplication.getMusicListNow().get(position).getMusicArtist());
            values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
            values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
            values.put(MediaStore.Audio.Media.IS_ALARM, false);
            values.put(MediaStore.Audio.Media.IS_MUSIC, false);
            //Insert it into the database
            Uri uri = MediaStore.Audio.Media.getContentUriForPath(music.getAbsolutePath());
            context.getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + music.getAbsolutePath() + "\"", null);
            Uri newUri = context.getContentResolver().insert(uri, values);
            RingtoneManager.setActualDefaultRingtoneUri(context, RingtoneManager.TYPE_RINGTONE, newUri);
            Toast.makeText(context, "已成功设置为来电铃声", Toast.LENGTH_SHORT).show();
            //Snackbar
//            Snackbar.make(mLayout, "已成功设置为来电铃声", Snackbar.LENGTH_LONG).show();
        }
    }
 
源代码2 项目: RelaxFinger   文件: FloatingBallUtils.java
@RequiresApi(api = Build.VERSION_CODES.M)
public static boolean checkPermissionWrite(){

    if(!Settings.System.canWrite(context)){

        Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);

        MyApplication.getMainThreadHandler().post(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(context,"屏幕旋转需要修改系统设置权限!",Toast.LENGTH_SHORT).show();
            }
        });

        return false;

    }else {

        return true;
    }
}
 
源代码3 项目: webrtc_android   文件: SettingsCompat.java
public static void manageWriteSettings(Context context) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
        intent.setData(Uri.parse("package:" + context.getPackageName()));
        context.startActivity(intent);
    }
}
 
源代码4 项目: YCAudioPlayer   文件: LocalMusicFragment.java
/**
 * 设置为铃声
 */
private void requestSetRingtone(AudioBean localMusic) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.System.canWrite(getContext())) {
        ToastUtils.showShort(R.string.no_permission_setting);
        Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
        intent.setData(Uri.parse("package:" + getContext().getPackageName()));
        startActivityForResult(intent, 0);
    } else {
        setRingtone(localMusic);
    }
}
 
源代码5 项目: music_player   文件: RecentListAdapter.java
private void setAsRingtone(final Activity context, int position) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.System.canWrite(context)) {
            Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS, Uri.parse("package:" + context.getPackageName()));
            context.startActivity(intent);
        } else {
            List<musicInfo> list = MyApplication.getDatesublist();
            File music = new File(list.get(position).getMusicData()); // path is a file to /sdcard/media/ringtone
            ContentValues values = new ContentValues();
            values.put(MediaStore.MediaColumns.DATA, music.getAbsolutePath());
            values.put(MediaStore.MediaColumns.TITLE, list.get(position).getMusicTitle());
            values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
            values.put(MediaStore.Audio.Media.ARTIST, list.get(position).getMusicArtist());
            values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
            values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
            values.put(MediaStore.Audio.Media.IS_ALARM, false);
            values.put(MediaStore.Audio.Media.IS_MUSIC, false);
            //Insert it into the database
            Uri uri = MediaStore.Audio.Media.getContentUriForPath(music.getAbsolutePath());
            context.getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + music.getAbsolutePath() + "\"", null);
            Uri newUri = context.getContentResolver().insert(uri, values);
            RingtoneManager.setActualDefaultRingtoneUri(context, RingtoneManager.TYPE_RINGTONE, newUri);
            Toast.makeText(context, "已成功设置为来电铃声", Toast.LENGTH_SHORT).show();
            //Snackbar
//            Snackbar.make(rootview, "已成功设置为来电铃声", Snackbar.LENGTH_LONG).setAction("好的", new View.OnClickListener() {
//                @Override
//                public void onClick(View v) {
//                }
//            }).show();
        }
    }
 
源代码6 项目: music_player   文件: FastScrollListAdapter.java
private void setAsRingtone(final Activity context, int position) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.System.canWrite(context)) {
            Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS, Uri.parse("package:" + context.getPackageName()));
            context.startActivity(intent);
        } else {
//            List<musicInfo> list = MyApplication.getMusicInfoArrayList();
            File music = new File(musicInfoArrayList.get(position).getMusicData()); // path is a file to /sdcard/media/ringtone
            ContentValues values = new ContentValues();
            values.put(MediaStore.MediaColumns.DATA, music.getAbsolutePath());
            values.put(MediaStore.MediaColumns.TITLE, musicInfoArrayList.get(position).getMusicTitle());
            values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
            values.put(MediaStore.Audio.Media.ARTIST, musicInfoArrayList.get(position).getMusicArtist());
            values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
            values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
            values.put(MediaStore.Audio.Media.IS_ALARM, false);
            values.put(MediaStore.Audio.Media.IS_MUSIC, false);
            //Insert it into the database
            Uri uri = MediaStore.Audio.Media.getContentUriForPath(music.getAbsolutePath());
            context.getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + music.getAbsolutePath() + "\"", null);
            Uri newUri = context.getContentResolver().insert(uri, values);
            RingtoneManager.setActualDefaultRingtoneUri(context, RingtoneManager.TYPE_RINGTONE, newUri);
            Toast.makeText(context, "已成功设置为来电铃声", Toast.LENGTH_SHORT).show();
//            //Snackbar
//            Snackbar.make(rootview, "已成功设置为来电铃声", Snackbar.LENGTH_LONG).setAction("好的", new View.OnClickListener() {
//                @Override
//                public void onClick(View v) {
//                }
//            }).show();
        }
    }
 
源代码7 项目: music_player   文件: playlistdetailAdapter.java
private void setAsRingtone(final Activity context, int position) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.System.canWrite(context)) {
            Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS, Uri.parse("package:" + context.getPackageName()));
            context.startActivity(intent);
        } else {
            List<musicInfo> list = MyApplication.getBoxStore().boxFor(Playlist.class).query().equal(Playlist_.name, MyApplication.getCustomListNow()).build().findUnique().getMusicInfos();
            File music = new File(list.get(position).getMusicData()); // path is a file to /sdcard/media/ringtone
            ContentValues values = new ContentValues();
            values.put(MediaStore.MediaColumns.DATA, music.getAbsolutePath());
            values.put(MediaStore.MediaColumns.TITLE, list.get(position).getMusicTitle());
            values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
            values.put(MediaStore.Audio.Media.ARTIST, list.get(position).getMusicArtist());
            values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
            values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
            values.put(MediaStore.Audio.Media.IS_ALARM, false);
            values.put(MediaStore.Audio.Media.IS_MUSIC, false);
            //Insert it into the database
            Uri uri = MediaStore.Audio.Media.getContentUriForPath(music.getAbsolutePath());
            context.getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + music.getAbsolutePath() + "\"", null);
            Uri newUri = context.getContentResolver().insert(uri, values);
            RingtoneManager.setActualDefaultRingtoneUri(context, RingtoneManager.TYPE_RINGTONE, newUri);
            Toast.makeText(context, "已成功设置为来电铃声", Toast.LENGTH_SHORT).show();
            //Snackbar
//            Snackbar.make(rootview, "已成功设置为来电铃声", Snackbar.LENGTH_LONG).setAction("好的", new View.OnClickListener() {
//                @Override
//                public void onClick(View v) {
//                }
//            }).show();
        }
    }
 
源代码8 项目: music_player   文件: searchAdapter.java
private void setAsRingtone(final Activity context, int position) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.System.canWrite(context)) {
            Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS, Uri.parse("package:" + context.getPackageName()));
            context.startActivity(intent);
        } else {
//            List<musicInfo> list = MyApplication.getMusicInfoArrayList();
            File music = new File(musicInfoArrayList.get(position).getMusicData()); // path is a file to /sdcard/media/ringtone
            ContentValues values = new ContentValues();
            values.put(MediaStore.MediaColumns.DATA, music.getAbsolutePath());
            values.put(MediaStore.MediaColumns.TITLE, musicInfoArrayList.get(position).getMusicTitle());
            values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
            values.put(MediaStore.Audio.Media.ARTIST, musicInfoArrayList.get(position).getMusicArtist());
            values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
            values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
            values.put(MediaStore.Audio.Media.IS_ALARM, false);
            values.put(MediaStore.Audio.Media.IS_MUSIC, false);
            //Insert it into the database
            Uri uri = MediaStore.Audio.Media.getContentUriForPath(music.getAbsolutePath());
            context.getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + music.getAbsolutePath() + "\"", null);
            Uri newUri = context.getContentResolver().insert(uri, values);
            RingtoneManager.setActualDefaultRingtoneUri(context, RingtoneManager.TYPE_RINGTONE, newUri);
            //Snackbar
            Snackbar.make(rootview, "已成功设置为来电铃声", Snackbar.LENGTH_LONG).setAction("好的", new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                }
            }).show();
        }
    }
 
源代码9 项目: music_player   文件: FavouriteListAdapter.java
private void setAsRingtone(final Activity context, int position) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.System.canWrite(context)) {
            Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS, Uri.parse("package:" + context.getPackageName()));
            context.startActivity(intent);
        } else {
            List<musicInfo> list = MyApplication.getTimessublist();
            File music = new File(list.get(position).getMusicData()); // path is a file to /sdcard/media/ringtone
            ContentValues values = new ContentValues();
            values.put(MediaStore.MediaColumns.DATA, music.getAbsolutePath());
            values.put(MediaStore.MediaColumns.TITLE, list.get(position).getMusicTitle());
            values.put(MediaStore.MediaColumns.MIME_TYPE, "audio/mp3");
            values.put(MediaStore.Audio.Media.ARTIST, list.get(position).getMusicArtist());
            values.put(MediaStore.Audio.Media.IS_RINGTONE, true);
            values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
            values.put(MediaStore.Audio.Media.IS_ALARM, false);
            values.put(MediaStore.Audio.Media.IS_MUSIC, false);
            //Insert it into the database
            Uri uri = MediaStore.Audio.Media.getContentUriForPath(music.getAbsolutePath());
            context.getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + music.getAbsolutePath() + "\"", null);
            Uri newUri = context.getContentResolver().insert(uri, values);
            RingtoneManager.setActualDefaultRingtoneUri(context, RingtoneManager.TYPE_RINGTONE, newUri);
            Toast.makeText(context, "已成功设置为来电铃声", Toast.LENGTH_SHORT).show();
            //Snackbar
//            Snackbar.make(rootview, "已成功设置为来电铃声", Snackbar.LENGTH_LONG).setAction("好的", new View.OnClickListener() {
//                @Override
//                public void onClick(View v) {
//                }
//            }).show();
        }
    }
 
源代码10 项目: lantern   文件: DisplayLightControllerImpl.java
@Override
public void requestSystemWritePermission() {
    // Request for permission if not yet granted
    if (!checkSystemWritePermission()) {
        if (isMarshmallowAndAbove()) {
            Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
            intent.setData(Uri.parse("package:" + activityWeakRef.get().getPackageName()));
            activityWeakRef.get().startActivity(intent);
        }
    }
}
 
源代码11 项目: AndroidUtilCode   文件: PermissionUtils.java
@TargetApi(Build.VERSION_CODES.M)
private static void startWriteSettingsActivity(final Activity activity, final int requestCode) {
    Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
    intent.setData(Uri.parse("package:" + Utils.getApp().getPackageName()));
    if (!UtilsBridge.isIntentAvailable(intent)) {
        launchAppDetailsSettings();
        return;
    }
    activity.startActivityForResult(intent, requestCode);
}
 
源代码12 项目: settingscompat   文件: SettingsCompat.java
public static void manageWriteSettings(Context context) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
        intent.setData(Uri.parse("package:" + context.getPackageName()));
        context.startActivity(intent);
    }
}
 
源代码13 项目: QuickDevFramework   文件: PermissionOperator.java
/**
 * 申请修改系统设置的权限
 * @param activity 申请权限的Activity,Fragment申请权限请传入getActivity()
 * @param callback 申请权限回调
 * */
@TargetApi(Build.VERSION_CODES.M)
private void requestWriteSystemSettingsPermission(Activity activity, RequestPermissionCallback callback) {
    if (PermissionManager.hasWriteSystemSettingsPermission()) {
        if (callback != null) {
            callback.onGranted();
        }
        return;
    }
    Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
    intent.setData(Uri.parse("package:" + activity.getPackageName()));
    activity.startActivityForResult(intent, WRITE_SETTINGS_PERMISSION_REQUEST_CODE );
    currCallback = callback;
}
 
源代码14 项目: SimpleSmsRemote   文件: PermissionUtils.java
/**
 * Start activity in order to request permission for writing settings <br/>
 *
 * @param activity any activity
 */
@TargetApi(Build.VERSION_CODES.M)
private static void RequestWriteSettingsPermission(Activity activity) {
    Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
    intent.setData(Uri.parse("package:" + activity.getPackageName()));
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    activity.startActivity(intent);
}
 
源代码15 项目: DeviceConnect-Android   文件: HostSettingProfile.java
@Override
public boolean onRequest(final Intent request, final Intent response) {
    final String serviceId = getServiceID(request);
    final Double level = getLightLevel(request);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if (Settings.System.canWrite(getContext())) {
            onPutDisplayLightInternal(request, response, serviceId, level);
        } else {
            Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS,
                Uri.parse("package:" + getContext().getPackageName()));
            IntentHandlerActivity.startActivityForResult(getContext(), intent,
                new ResultReceiver(new Handler(Looper.getMainLooper())) {
                    @Override
                    protected void onReceiveResult(final int resultCode, final Bundle resultData) {
                        if (Settings.System.canWrite(getContext())) {
                            onPutDisplayLightInternal(request, response, serviceId, level);
                        } else {
                            MessageUtils.setIllegalServerStateError(response,
                                "WRITE_SETTINGS permisson not granted");
                        }
                        sendResponse(response);
                    }
                });
            return false;
        }
    } else {
        onPutDisplayLightInternal(request, response, serviceId, level);
    }
    return true;
}
 
源代码16 项目: DeviceConnect-Android   文件: HostSettingProfile.java
@Override
public boolean onRequest(final Intent request, final Intent response) {
    final String serviceId = getServiceID(request);
    final Integer time = getTime(request);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if (Settings.System.canWrite(getContext())) {
            onPutDisplaySleepInternal(request, response, serviceId, time);
        } else {
            Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS,
                Uri.parse("package:" + getContext().getPackageName()));
            IntentHandlerActivity.startActivityForResult(getContext(), intent,
                new ResultReceiver(new Handler(Looper.getMainLooper())) {
                    @Override
                    protected void onReceiveResult(final int resultCode, final Bundle resultData) {
                        if (Settings.System.canWrite(getContext())) {
                            onPutDisplaySleepInternal(request, response, serviceId, time);
                        } else {
                            MessageUtils.setIllegalServerStateError(response,
                                "WRITE_SETTINGS permisson not granted");
                        }
                        sendResponse(response);
                    }
                });
            return false;
        }
    } else {
        onPutDisplaySleepInternal(request, response, serviceId, time);
    }
    return true;
}
 
源代码17 项目: talkback   文件: SettingsUtils.java
/**
 * Requests system settings writing permission if the parent context needs.
 *
 * @param context The parent context
 * @return {@code true} has the permission; {@code false} need to request the permission
 */
public static boolean requestWriteSettingsPermission(Context context) {
  boolean hasWritePermission = Settings.System.canWrite(context);
  if (hasWritePermission) {
    return true;
  }
  // Starting in M, we need the user to manually allow the app to modify system settings.
  Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS);
  intent.setData(Uri.parse("package:" + context.getPackageName()));
  intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  context.startActivity(intent);
  return false;
}
 
源代码18 项目: fdroidclient   文件: SwapWorkflowActivity.java
@TargetApi(23)
public void requestWriteSettingsPermission() {
    Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS,
            Uri.parse("package:" + getPackageName()));
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivityForResult(intent, REQUEST_WRITE_SETTINGS_PERMISSION);
}