Android 基础知识 十二

来源:互联网 发布:淘宝的宝贝详情页在哪 编辑:程序博客网 时间:2024/05/17 22:01
Android检测耳机当前状态
今天要用到检测耳机当前状态的功能,在网上查了半天发现全是耳机插拨动作的检测,不符合使用要求,因为我们是做手机的,手机第一次运行的时候如果不插耳机获取的状态就不对,废话不多说,下面是检测耳机当前状态的代码,注意:不是检测耳机插拨动作!!!

  1. private static final String HEADSET_STATE_PATH = "/sys/class/switch/h2w/state";
  2. //先定义一个常量,这个是耳机当前状态文件[/font]
  3. //用读文件的方式读出状态码后做判断,很简单
  4. char[] buffer = new char[1024];
  5.         try {
  6.          FileReader file = new FileReader(HEADSET_STATE_PATH);
  7.          int len = file.read(buffer, 0, 1024);
  8.          int newState = Integer.valueOf((new String(buffer, 0, len)).trim()); //newState 0:未播放耳机 1:插入耳机
  9.          
  10.         } catch (FileNotFoundException e) {
  11.             Slog.w(TAG, "This kernel does not have wired headset support");
  12.         } catch (Exception e) {
  13.             Slog.e(TAG, "" , e);
  14.         }
复制代码
------------------------------------------------------------
android如何获取当前语言环境


  1. getResources().getConfiguration().locale.getLanguage()
复制代码
----------------------------------------------------------------------
获取手机的电话号码

  1. TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);

  2. String imei = tm.getDeviceId();
  3. String tel = tm.getLine1Number();

  4. 加上权限

  5. <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
复制代码
------------------------------------------------------------
Android HOME键的屏蔽


  1. 经过测试2.1(包含2.1) 以上的版本都可以使用

  2. @Override

  3. public void onAttachedToWindow() {
  4. this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
  5. super.onAttachedToWindow();
  6. }

  7. @Override
  8. public boolean onKeyDown(int keyCode, KeyEvent event) {
  9. switch(keyCode) {
  10. case KeyEvent.KEYCODE_BACK:
  11. Log.e("Test01", "onKeyDown KEYCODE_BACK");
  12. break;
  13. case KeyEvent.KEYCODE_HOME:
  14. Log.e("Test01", "onKeyDown KEYCODE_HOME");
  15. break;
  16. }
  17. return false;
  18. }