
Android相关
西门萝卜
这个作者很懒,什么都没留下…
展开
-
Android中关于文件路径的问题
1.Environment.DIRECTORY_PICTURES等的位置:可通过getExternalFilesDir(Environment.DIRECTORY_PICTURES).getPath()确定,在SDCard/Android/data/包名/files文件夹下。如创建一幅图片并显示:File file = new File(getExternalFilesDir(Enviro原创 2017-10-24 11:12:04 · 581 阅读 · 0 评论 -
抬手亮屏
原理:分析抬手亮屏的过程,首先是抬手的动作,抬手的过程会产生一个加速度,然后是抬手后设备静止的状态,如果用户当前是想显示屏幕那么设备肯定处于一个接近水平的状态。有这两个过程基本可以确定用户是想点亮屏幕的。这两个过程的判断仅仅使用到加速度传感器,无须大部分设备会同时使用到的陀螺仪、磁力传感器等,对节省设备电量也有一定的帮助。1.判断抬手的动作。首先介绍一下Android设备的自然方向,如原创 2016-09-12 17:48:28 · 11442 阅读 · 0 评论 -
通过setDefaultKeyMode设置Activity的五种按键模式
本文主要介绍Activity的五种按键模式及实现方法原创 2016-07-28 10:37:55 · 1186 阅读 · 0 评论 -
开机自动打开、连接Miracast
这个项目有一个奇葩的需求,开机后自动打开Miracast并使得设备处于可被搜索状态。打开设置,进入“显示”界面,点击最下方的“投射屏幕”即可进入Miracast界面,开启右上角的无线显示,打开“其他设备可检测到此设备”,即会弹出一个Dialog,显示“正在等待其他设备发起连接邀请”,需求就是开机后即让设备处于该状态。并且在有其他设备请求连接时直接连接,无需确认。后来才知道这么奇葩的需求是因为这个设原创 2016-08-23 14:17:15 · 5212 阅读 · 0 评论 -
在广播中启动Activity,弹出Dialog需要注意的事项
1.启动Activity需要给Intent添加FLAG_ACTIVITY_NEW_TASK标识:intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);2.弹出Dialog需要将Dialog设为TYPE_SYSTEM_ALERT类型:alertDialog.getWindow().setType(WindowManager.LayoutParams.T原创 2016-08-25 18:17:57 · 1526 阅读 · 0 评论 -
Android5.1 Launcher3 修改双层桌面为单层
修改Launcher3/src/com/android/launcher3/LauncherAppState.java的isDisableAllApps()方法,将返回值改为true,即可实现单层桌面。 我们这个项目的设备屏幕比较小,大概是6plus的四分之一那么大,实现单层桌面后发现workspace的区域特别小,图标都挤到一起了,但是旁边还有很多的空白区域,所以接下来还要设置一下work原创 2016-08-09 14:58:32 · 4746 阅读 · 2 评论 -
Android5.1 Launcher3 隐藏搜索条
需要修改五个地方: 1.Launcher3/src/com/android/launcher3/SearchDropTargetBar.java的setup()方法,如下: if (mEnableDropDownDropTargets) { mQSBSearchBarAnim = ObjectAnimator.ofFloat(mQSBSearchBa原创 2016-08-09 14:25:10 · 2637 阅读 · 0 评论 -
Android5.1 Launcher3 隐藏介绍、帮助界面
Launcher.java里: showIntroScreen()方法显示介绍界面; showFirstRunActivity()方法显示帮助界面; showFirstRunClings()方法显示帮助信息,该方法最终执行以下两个方法之一: 1.showMigrationCling():设备从Launcher2升级到Launcher3的情况下要兼容的帮助信息, 2.s原创 2016-08-09 10:34:02 · 1961 阅读 · 0 评论 -
Android5.1 Launcher3 隐藏指定应用图标
分两种情况: 1.有源码的应用。 因为Launcher是根据应用清单文件里 来显示图标,所以如果我们有应用的源码,可以直接将清单文件里的这句话去掉,应用便不会在桌面上显示了。做整机项目的话packages\apps目录下的系统应用都可以使用此方法。 2.没有源码的应用。 这里用到packages\apps\Launcher3\src\com\android\l原创 2016-08-08 18:53:43 · 7164 阅读 · 0 评论 -
Android5.1 Launcher3 强制横屏
Android Launcher3 强制横屏原创 2016-08-08 18:25:14 · 6735 阅读 · 1 评论 -
使用adb安装apk
打开CMD,将路径定位到adb所在目录。adb位于SDK的platform-tools文件夹下:使用adb devices命令检查设备是否连接:使用adb install apk路径/xxx.apk:报错是因为该应用已安装,adb install命令无法覆盖安装。同理删除命令为adb uninstall apk路径/xxx.apk原创 2016-08-04 16:06:52 · 2161 阅读 · 0 评论 -
Android 守护进程的一些认识
需求是做一个自家Android设备上的应用市场,开机自启动,每分钟向后台请求是否有应用要更新。 原生的系统开机自启动很容易(很多定制的系统会限制自启动)。利用开机广播启动service A,service A里启动监听ACTION_TIME_TICK的广播,每分钟请求数据一次。这个时候应用的进程里只有一个后台服务,长按home键是不会出现该应用的,也就是说通过长按home键是不会杀死该应用的原创 2016-11-16 16:42:50 · 1565 阅读 · 0 评论 -
BroadcastReceiver里的context
官方文档对onReceive方法里context参数的解释是:The Context in which the receiver is running. 如果是静态注册的Broadcast,context.toString()输出为:android.app.ReceiverRestrictedContext@e5d8f65 如果是动态注册的Broadcast,context.toStr原创 2016-11-04 14:49:10 · 1850 阅读 · 0 评论 -
Android5.1 添加系统预装应用
我还是在5.1的版本里做的,没看过之后的版本是什么情况,这个版本的应用的目录结构还是Eclipse式的,所以要在Eclipse里创建应用,这里列一下步骤和需要注意的东西: 1.创建工程时要选择与系统对应的SDK版本; 2.使用UTF-8编码方式; 3.XML里的字符串要写到string文件里; 4.应用放置的位置是:\packages\apps; 5.删除应用里的bi原创 2016-09-30 16:21:44 · 2002 阅读 · 0 评论