Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 自动静音安卓设备,计时器设置为“我的用户”_Java_Android - Fatal编程技术网

Java 自动静音安卓设备,计时器设置为“我的用户”

Java 自动静音安卓设备,计时器设置为“我的用户”,java,android,Java,Android,我的应用程序中有两个按钮 开始时间和结束时间 现在,我希望设备在用户设置的开始和结束持续时间内以静默模式打开…我如何才能做到这一点 我的开始时间和结束时间输入代码 mainactivity.java代码 包com.example.h.manualsilent public class MainActivity extends AppCompatActivity { TimePickerDialog tpd; SimpleDateFormat simpleDateFormat; String ti

我的应用程序中有两个按钮 开始时间和结束时间

现在,我希望设备在用户设置的开始和结束持续时间内以静默模式打开…我如何才能做到这一点

我的开始时间和结束时间输入代码
mainactivity.java代码
包com.example.h.manualsilent

public class MainActivity extends AppCompatActivity {
TimePickerDialog tpd;
SimpleDateFormat simpleDateFormat;
String time;
Button sttime;
Button entime;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    sttime=(Button)findViewById(R.id.startbtn);
    entime=(Button)findViewById(R.id.endbtn);
}
public void starttime(View view){
    Calendar cal=Calendar.getInstance();
    simpleDateFormat=new SimpleDateFormat("hh:mm a");
    int hour=cal.get(Calendar.HOUR);
    int minute=cal.get(Calendar.MINUTE);

    //int inst=cal.get(Calendar.AM_PM);
    tpd=new TimePickerDialog(MainActivity.this, new 
    TimePickerDialog.OnTimeSetListener() {

        @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
    Time time = new Time(hourOfDay, minute,0);

            //little h uses 12 hour format and big H uses 24 hour format
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("h:mm a");

            //format takes in a Date, and Time is a sublcass of Date
            String s = simpleDateFormat.format(time);
            sttime.setText(s);
        }
    },hour,minute,false);
    tpd.show();
    }
    public void endtime(View view){
    Calendar cal=Calendar.getInstance();
    int hour=cal.get(Calendar.HOUR);
    int minute=cal.get(Calendar.MINUTE);
    //int inst=cal.get(Calendar.AM_PM);
    tpd=new TimePickerDialog(MainActivity.this, new 
    TimePickerDialog.OnTimeSetListener() {

        @Override
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        Time time = new Time(hourOfDay, minute,0);

            //little h uses 12 hour format and big H uses 24 hour format
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("h:mm a");

            //format takes in a Date, and Time is a sublcass of Date
            String s = simpleDateFormat.format(time);
            entime.setText(s);
        }
        },hour,minute,false);
        tpd.show();
        }
        }
您可以使用从通用模式更改为静默模式

代码: 您还必须在
清单
文件中授予所需的权限

android.permission.MODIFY_AUDIO_SETTINGS
您可以根据需要使用上述代码将手机设置为静音


您还可以分别使用或更改回振动或常规。

您可以使用
AudioManager

在这个类中,您要查找
setRingerMode()
函数

AudioManager audiomanage = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audiomanage.setRingerMode(AudioManager.RINGER_MODE_SILENT);
可以传递到函数中的值包括:

振铃器模式,
ringer\u mode\u NORMAL
ringer\u mode\u SILENT
,或
振铃器模式振动

您必须将其添加到清单文件中:

android.permission.MODIFY_AUDIO_SETTINGS

我在这里看到了-

好的,现在我知道如何在静默和常规模式之间切换…这很有帮助…但是我如何跟踪用户设置的持续时间并激活静默或常规模式…我已经编辑了我的问题…你能帮到@Johny吗
android.permission.MODIFY_AUDIO_SETTINGS