• Android 应用开发实例之情景模式


    2013-07-01

    Android 应用开发实例

    1. 情景模式

    使用TabHost来实现主界面的布局。

    设置一组RadioButton来切换不同的情景模式。

    对比普通情景模式定时情景模式需要加上一个TimPicker来显示并设置时间。

    自定义情景模式需要自己定义声音的大小。

    调节声音的大小、静音、振动等。

    // 获得一个AudioManager对象

    AudioManager audioMgr = Context.getSystemService(Context.AUDIO_SERVICE);

    // AudioManager常量

    AUDIO_LOWER

    AUDIO_RAISE

    AUDIO_SAME

    EXTRA_RINGER_MODE

    EXTRA_VIBRATE_SETTING

    EXTRA_VIBRATE_TYPE

    FLAG_PLAY_SOUND

    FLAG_VIBRATE

    MODE_INVALID

    MODE_IN_CALL

    MODE_NORMAL

    MODE_RINGTONE

    // AudioManager方法

    adjustVolume

    getMode

    getRingerMode

    getStreamMaxVolume

    isSpeakerPhoneOn

    loadSoundEffects

    playSoundEffect

    setMicroPhoneMute

    setMode

    setRingerMode

    setSpeakerPhoneOn

    setVibrateSetting

    // 设置铃声+振动

    audioMgr.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

    audioMgr.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_ON);

    audioMgr.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_ON);

    // 设置静音模式

    audioMgr.setRingerMode(AudioManager.RINGER_MODE_SILENT);

    audioMgr.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF);

    audioMgr.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_OFF);

    // 注册一个定时器

    AlarmManager.set(int type, long triggerAtTime, PendingIntent operation);

    // 得到一个PendingIntent

    PendingIntent.getActivity(Context, int, Intent, int);

    PendingIntent.getBroadcast(Context, int, Intent, int);

    PendingIntent.getService(Context, int, Intent, int);

    // 创建并注册一个定时器

    public void ring() {

      Intent it = new Intent(RingBroadcastReceiver.RING_CHANGED);

      it.putExtra(“checkedId”, R.id.ring02);

      PendingIntent pIt = PendingIntent.getBroadcast(this, RingBroadcastReceiver.REQUEST_CODE, it, 0);

      alarmMgr.set(AlarmManager.RTC_WAKEUP, getTime(), pIt);

    }

    // 创建广播接收器

    public class RingBroadcastReceiver extends BroadcastReceiver {

      public void onReceiver(Context context, Intent it) {   

      }

    }

    // 处理UI事件

    RadioGroup radioGroup = (RadioGroup) findViewById(R.id.radioGroup02);

    radioGroup.setOnCheckedChangeListener(new OnCheckedChangedListener() {

      public void onCheckedChanged(RadioGroup group, int checkedId) {

      }

    });

    // 在Manifest文件中注册广播接收器

    <receiver android:name=”RingBroadcastReceiver”>

      <intent-filter>

        <action android:name=”com.example.ring.RingProfile.RV_CHANGED” />

        <action android:name=”com.example.ring.RingProfile.RING_CHANGED” />

        <action android:name=”com.example.ring.RingProfile.VIBRATE_CHANGED” />

        <action android:name=”com.example.ring.RingProfile.SILENT_CHANGED” />

      </intent-filter>

    </receiver>

  • 相关阅读:
    2019/5/15 写题总结
    CodeForces 804C Ice cream coloring
    CodeForces 367 C Sereja and the Arrangement of Numbers 欧拉回路
    CodeForces 464 B Restore Cube
    CodeForces 402 E Strictly Positive Matrix
    CodeForces 628 D Magic Numbers 数位DP
    CodeForces 340E Iahub and Permutations 错排dp
    CodeForces 780 E Underground Lab
    BZOJ 1010 [HNOI2008]玩具装箱toy 斜率优化dp
    CodeForces 715B Complete The Graph 特殊的dijkstra
  • 原文地址:https://www.cnblogs.com/fengzhblog/p/3166076.html
Copyright © 2020-2023  润新知