android代码片段一
1、Android判断是Pad或者手机
public boolean isTabletDevice() {
TelephonyManager telephony = (TelephonyManager) getContext().getSystemService(Context.TELEPHONY_SERVICE);
int type = telephony.getPhoneType();
if (type == TelephonyManager.PHONE_TYPE_NONE) {
return true;
} else {
return false;
}
}
2、到android设置中的卸载界面
Uri uri = Uri.fromParts("package", appInfo.packageName, null);
Intent it=new Intent();
it.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");
it.setData(uri);
startActivity(it);
3、获取屏幕上正在显示的Activity
ActivityManager mActivityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
ComponentName mComponentName = mActivityManager.getRunningTasks(1).get(0).topActivity;
4、如何判断一个activity是否存在于系统中
Intent intent = new Intent();
intent.setClassName("包名", "类名");
if(getPackageManager().resolveActivity(intent, 0) == null) {
//说明系统中不存在这个activity
}
5、如何获取状态栏和标题栏的高度
获取状态栏高度: decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView有个 getWindowVisibleDisplayFrame方法可以获取到程序显示的区域,包括标题栏,但不包括状态栏。于是,我们就可以算出状态栏的高度。 Rect frame = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
int statusBarHeight = frame.top; 获取标题栏高度: getWindow().findViewById(Window.ID_ANDROID_CONTENT)这个方法获取到的view就是程序不包括标题栏的部分,然后就可以知道标题栏的高度了。 int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
//statusBarHeight是上面所求的状态栏的高度
int titleBarHeight = contentTop - statusBarHeight;
6、如何判断快捷方式是否已经创建
快捷方式信息是保存在com.android.launcher的launcher.db的favorites表中 boolean isInstallShortcut = false ;
final ContentResolver cr = context.getContentResolver();
final String AUTHORITY = "com.android.launcher.settings";
final Uri CONTENT_URI = Uri.parse("content://" +
AUTHORITY + "/favorites?notify=true"); Cursor c = cr.query(CONTENT_URI,
new String[] {"title","iconResource" },
"title=?",
new String[] {"XXX" }, null);//XXX表示应用名称。
if(c!=null && c.getCount()>0){
isInstallShortcut = true ;
}
/*try {
while (c.moveToNext()) {
String tmp = "";
tmp = c.getString(0);
}
} catch (Exception e) { } finally {
c.close();
}*/
return isInstallShortcut ;
}
要有权限:
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS"/>
注意:2.2及其之后的版本不能用这个方法判断!(虽然在launcher.db数据库里还有favorites这个表)
7、如何在android的一个应用中调用另外一个应用
Intent intent = new Intent();
//第一个参数另一个应用的包名,第二个是需要启动的类
intent.setComponent(new ComponentName("com.Ex03_03","com.Ex03_03.Ex03_03"));
startActivity(intent);
8、如何监测是否静音
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
switch (am.getRingerMode()) {
case AudioManager.RINGER_MODE_SILENT:
Log.i("MyApp","Silent mode");
break;
case AudioManager.RINGER_MODE_VIBRATE:
Log.i("MyApp","Vibrate mode");
break;
case AudioManager.RINGER_MODE_NORMAL:
Log.i("MyApp","Normal mode");
break;
}
android代码片段一的更多相关文章
- Android - 代码片段
转载说明 本篇文章可能已经更新,最新文章请转:http://www.sollyu.com/android-code-snippets/ 说明 此篇文章为个人日常使用所整理的一此代码片段,此篇文正将会不 ...
- 【Android代码片段之六】Toast工具类(实现带图片的Toast消息提示)
转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/6841266 作者:张燕广 实现的Toast工具类ToastUtil封装 ...
- 【Android代码片段之八】监听Android屏幕是否锁屏
实现方法:1)通过BroadcastReceiver接收广播Intent.ACTION_SCREEN_ON和Intent.ACTION_SCREEN_OFF可以判断屏幕状态是否锁屏,但是只有屏幕状态发 ...
- android代码片段二
1.Android拦截短信 一.AndroidManifest.xml <uses-permission android:name="android.permission.RECE ...
- 实用的Android代码片段集合(精)
1.精确获取屏幕尺寸(例如:3.5.4.0.5.0寸屏幕) public static double getScreenPhysicalSize(Activity ctx) { DisplayMetr ...
- 给大家介绍几个常见的Android代码片段
今天在源码天堂那个网站,也下载了一个不错的Android源码特效,现在分享一下给博客园的朋友吧,个人觉得那个网站还是挺不错的,希望大家能够使用得上. 仿美图秀秀拼图功能源码 仿美图秀秀拼图功能源码,最 ...
- Android课程---Android Studio使用小技巧:提取方法代码片段
这篇文章主要介绍了Android Studio使用小技巧:提取方法代码片段,本文分享了一个快速复制粘贴方法代码片段的小技巧,并用GIF图演示,需要的朋友可以参考下 今天来给大家介绍一个非常有用的Stu ...
- Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法与有用代码片段(转)
摘自:http://blog.csdn.net/shakespeare001/article/details/7926783 Adapter是连接后端数据和前端显示的适配器接口,是数据Data和UI( ...
- 转--Android实用的代码片段 常用代码总结
这篇文章主要介绍了Android实用的代码片段 常用代码总结,需要的朋友可以参考下 1:查看是否有存储卡插入 复制代码 代码如下: String status=Environment.getE ...
随机推荐
- VPN Gate Client v4.11-免費、無限流量VPN翻牆(跳板)軟體(使用教學)
VPN Gate Client安裝教學 ▼把下載的檔案壓縮後,開啟安裝檔案. ▼接下來就是一般安裝步驟,下一步>下一步 ▼同意>下一步>下一步 ▼安裝目錄可以用預設的也可以自 ...
- 树莓派加入定时任务实现花生壳定时重启(linux的定时任务)
由于花生壳在linux下不稳定,联系开机一个星期左右会挂掉,所以要使用定时任务实现每小时刷新一次/启动一次. 使用的是linux下的定时任务crontab去实现. 实现步骤: 1.编辑/etc/cro ...
- 在VS中安装EF和项目引用EF
1.通过Visual Studio安装NuGet (1). 打开Visual Studio扩展管理器 (2). 选择联机库,并在搜索中写入NuGet,然后点击搜索结果中NuGet Packag ...
- 实现控件WPF(4)----Grid控件实现六方格
PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘.目前又不当COO,还是得用心记代码哦! 利用Grid控件能很轻松帮助我们实现各种布局.上面就是一个通过Grid单元格 ...
- 【M16】谨记80-20法则
1.开始编写代码时,不要过多考虑效率,而应该首先考虑逻辑的清晰性和代码的可读性. 2.后期通过测试找到效率的瓶颈所在,而不是靠猜测.然后,针对性地去解决.也就是80%的时间去解决这20%的代码.
- C#程序实现动态调用DLL的研究[转]
摘 要: 在< csdn 开发高手> 2004 年第 03 期中的<化功大法——将 DLL 嵌入 EXE >一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在 ...
- Cache选型的一些思考
Cache对于减轻DB负载有非常关键的数据.以下对经常使用的memcached和redis做个总结,便于技术选型. 1 memcached (1) 支持的操作有限,支持经常使用的set,get,de ...
- 以C#编写的Socket服务器的Android手机聊天室Demo
内容摘要 1.程序架构 2.通信协议 3.服务器源代码 4.客户端源代码 5.运行效果 一.程序架构 在开发一个聊天室程序时,我们可以使用Socket.Remoting.WCF这些具有双向通信的协议或 ...
- 通过tracing技术来教授操作系统
https://www.cl.cam.ac.uk/teaching/1516/L41/materials.html https://github.com/myaut/dtrace-stap-book
- PAT 1004
1004. Counting Leaves (30) A family hierarchy is usually presented by a pedigree tree. Your job is t ...