zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Linkerd 2.10(Step by Step)—将 GitOps 与 Linkerd 和 Argo CD 结合使用
    Linkerd 2.10(Step by Step)—多集群通信
    Linkerd 2.10(Step by Step)—使用 Kustomize 自定义 Linkerd 的配置
    Linkerd 2.10(Step by Step)—控制平面调试端点
    Linkerd 2.10(Step by Step)—配置超时
    Linkerd 2.10(Step by Step)—配置重试
    Linkerd 2.10(Step by Step)—配置代理并发
    本地正常运行,线上环境诡异异常原因集合
    Need to invoke method 'xxx' declared on target class 'yyy', but not found in any interface(s) of the exposed proxy type
    alpine 安装常用命令
  • 原文地址:https://www.cnblogs.com/wangmars/p/3276988.html
Copyright © 2011-2022 走看看