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    相比在系统内发送全局广播,它更高效。

  • 相关阅读:
    Linux 常用命令
    去除重叠区间
    Python 小工具之大文件去重
    有趣的pyfiglet
    杨辉三角
    Paginator分页
    Linux用户和用户组
    Grub介绍
    Linux系统运行级别
    Linux系统启动流程
  • 原文地址:https://www.cnblogs.com/xilinch/p/2610537.html
Copyright © 2011-2022 走看看