zoukankan      html  css  js  c++  java
  • android中获得系统语言

    String str = Locale.getDefault().getLanguage();
                    Log.i("my", str);   

    中文为   str ="cn";

    英文为  str ="en";

    日文为  str ="ja";

    。。。。

    写个程序监控设置中语言变化

    public class AndroidLanguageActivity extends Activity {
        
        class MyReceiver extends BroadcastReceiver 
        {
    
            @Override
            public void onReceive(Context context, Intent intent)
            {
                // TODO Auto-generated method stub
                if("Intent.ACTION_LOCALE_CHANGED".equals(intent.getAction()))
                {
                    String str = Locale.getDefault().getLanguage();
                    Log.i("my", "changed    "+str);
                }
            }
            
        }
        MyReceiver receiver;
        IntentFilter filter;
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            View view  = new TestDrawView(this);
    //        view.setBackgroundDrawable(getResources().getDrawable(R.drawable.xx));
            setContentView(view);
            receiver = new MyReceiver();
            filter = new IntentFilter("Intent.ACTION_LOCALE_CHANGED");
           
        }
        
        @Override
        protected void onResume()
        {
            // TODO Auto-generated method stub
            super.onResume();
            registerReceiver(receiver, filter);
            String str = Locale.getDefault().getLanguage();
            Log.i("my", str);
        }
    
        @Override
        protected void onPause()
        {
            // TODO Auto-generated method stub
            super.onPause();
            unregisterReceiver(receiver);
        }
        
    }

    根据官方文档指明,注册广播在onSume()中,解除注册unregister(receiver);在onPause()中。

    而且如果假设广播只在本应用中的话推荐使用LocalBroadcastManager,因为它具有一下优点:

    1    因广播数据在本应用范围内传播,你不用担心隐私数据泄露的问题。

    2    不用担心别的应用伪造广播,造成安全隐患。

    3    相比在系统内发送全局广播,它更高效。

  • 相关阅读:
    使用Eclipse调试Java程序的10个技巧
    向mysql中插入格式为"yyyyMMdd HH:mm:ss"的时间
    乐观锁和悲观锁
    js验证表单大全
    subclipse版本回滚功能
    (转)Linux(RedHat AS4)下架设subversion(svn)服务器
    Redhat5下安装Apache2与Subversion1.6.15
    (转)深入探讨 Java 类加载器
    (转)Java深度历险(一)——Java字节代码的操纵
    关于SVN 目录结构
  • 原文地址:https://www.cnblogs.com/xilinch/p/2610537.html
Copyright © 2011-2022 走看看