• Android中的一些小技巧


     1    
     2 
     3 这个是App判断是pad还是手机的代码:
     4 
     5 
     6 public boolean isTabletDevice() {  
     7             TelephonyManager telephony = (TelephonyManager) getContext().getSystemService(Context.TELEPHONY_SERVICE);  
     8             int type = telephony.getPhoneType();  
     9             if (type == TelephonyManager.PHONE_TYPE_NONE) {  
    10                 return true;  
    11             } else {  
    12                 return false;  
    13             }  
    14         }  

    获取屏幕上正在显示的Activity

    ActivityManager mActivityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
    ComponentName mComponentName = mActivityManager.getRunningTasks(1).get(0).topActivity; 

    如何获取状态栏和标题栏的高度

     1 decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView有个 getWindowVisibleDisplayFrame方法可以获取到程序显示的区域,包括标题栏,但不包括状态栏。于是,我们就可以算出状态栏的高度。
     2 
     3 Rect frame = new Rect();  
     4 getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);  
     5 int statusBarHeight = frame.top; 
     6 
     7 获取标题栏高度: 
     8 
     9 getWindow().findViewById(Window.ID_ANDROID_CONTENT)这个方法获取到的view就是程序不包括标题栏的部分,然后就可以知道标题栏的高度了。 
    10 
    11     int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();  
    12     //statusBarHeight是上面所求的状态栏的高度  
    13     int titleBarHeight = contentTop - statusBarHeight;  
    14 

    如何判断快捷方式是否已经创建

     1 快捷方式信息是保存在com.android.launcher的launcher.db的favorites表中 
     2 
     3  boolean isInstallShortcut = false ;  
     4     final ContentResolver cr = context.getContentResolver();  
     5     final String AUTHORITY = "com.android.launcher.settings";  
     6     final Uri CONTENT_URI = Uri.parse("content://" +  
     7                      AUTHORITY + "/favorites?notify=true");  
     8       
     9     Cursor c = cr.query(CONTENT_URI,  
    10     new String[] {"title","iconResource" },  
    11     "title=?",  
    12     new String[] {"XXX" }, null);//XXX表示应用名称。  
    13             if(c!=null && c.getCount()>0){  
    14         isInstallShortcut = true ;  
    15     }  
    16     /*try { 
    17         while (c.moveToNext()) { 
    18                                     String tmp = ""; 
    19             tmp = c.getString(0); 
    20         } 
    21         } catch (Exception e) { 
    22  
    23         } finally { 
    24             c.close(); 
    25         }*/  
    26     return isInstallShortcut ;  
    27 }  



    要有权限: 
    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/> 
    注意:2.2及其之后的版本不能用这个方法判断!(虽然在launcher.db数据库里还有favorites这个表)

    如何在android的一个应用中调用另外一个应用

    1 Intent intent = new Intent();  
    2 //第一个参数另一个应用的包名,第二个是需要启动的类  
    3 intent.setComponent(new ComponentName("com.Ex03_03","com.Ex03_03.Ex03_03"));  
    4 startActivity(intent);

    如何监测是否静音

     1     AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);   
     2     switch (am.getRingerMode()) {   
     3         case AudioManager.RINGER_MODE_SILENT:   
     4             Log.i("MyApp","Silent mode");   
     5             break;   
     6         case AudioManager.RINGER_MODE_VIBRATE:   
     7             Log.i("MyApp","Vibrate mode");   
     8             break;   
     9         case AudioManager.RINGER_MODE_NORMAL:   
    10             Log.i("MyApp","Normal mode");   
    11             break;   
    12     }   

    欢迎访问:http://www.cnblogs.com/wangmars/

    以上内容摘录互联网,和:http://www.cnblogs.com/weizilong/p/3276779.html

  • 相关阅读:
    WPF TreeView IsExpanded 绑定不上的问题
    WPF TreeView BringIntoViewBehavior
    WPF ListBox的进阶使用(二)
    WPF ListBox的进阶使用(一)
    双缓冲队列解决WPF界面卡死
    C# 对接Https接口
    软件架构的六大设计原则
    FeignClient接口封装
    CentOS修改root密码
    并发编程的挑战(Java并发编程的艺术)
  • 原文地址:https://www.cnblogs.com/wangmars/p/3276988.html
Copyright © 2020-2023  润新知