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