精华内容
下载资源
问答
  • shell命令是:adb shell getevent,... 不过通过上述算出来的坐标,需要做手机是横屏还是竖屏的区分,因为Android手机在横屏和竖屏状态手机屏幕的坐标会发生改变,有兴趣的可以通过打开Android手机的开发者选项里面的

              shell命令是:adb shell getevent,不过再通过这个命令获取屏幕的坐标之前,需要通过adb shell getevent -p获取到当前手机的坐标矫正值,网上有很多的参考资料,这部分不再敖述。

        不过通过上述算出来的坐标,需要做手机是横屏还是竖屏的区分,因为Android手机在横屏和竖屏状态手机屏幕的坐标会发生改变,有兴趣的可以通过打开Android手机的开发者选项里面的指针位置进行验证。

         通过上述方式算出来的坐标,适合的是竖屏状态的。如果是横屏,经过我的验证,竖屏坐标的Y值变成横屏状态下的X值,而横屏状态下的Y值,则等于手机的分辩率的宽度减去竖屏状态下X值(如:手机分辩率为800*480,则横屏状态下的Y坐标就等于,480-竖屏状态下的X坐标)。

    展开全文
  • adb命令控制横/竖屏切换

    千次阅读 2012-04-05 14:42:52
    在网络上查找了一下使用adb命令来控制真机的横竖屏的命令,普遍找到的结果是: adb shell service call window 2013 i32 0(设置横屏) adb shell service call window 2013 i32 1(设置竖屏)   但是在真机...

     

    在网络上查找了一下使用adb命令来控制真机的横竖屏的命令,普遍找到的结果是:

    adb shell service call window 2013 i32 0(设置横屏)

    adb shell service call window 2013 i32 1(设置竖屏)

     

    但是在真机(root过)上测试普遍没有通过,会有出错信息。(Result: Parcel(Error: 0xffffffb6 "Not a data message"))

     

    查看一下service的使用说明

    adb shell service --help

    unknown option -- -unknown option -- eunknown option -- lunknown option -- pUsage: service [-h|-?]

           service list

           service check SERVICE

           service call SERVICE CODE [i32 INT | s16 STR] ...

    Options:

       i32: Write the integer INT into the send parcel.

       s16: Write the UTF-16 string STR into the send parcel.

     

    首先,service list很明显就是查看service列表啦!

    其次,service check SERVICE就是检测服务是否存在啦!

    最后,service call SERVICE CODE [i32 INT | s16 STR] ...SERVICE可从list中获取,CODE的获取方法(http://xtor.warp.es/?p=1093,CODE列表:http://xtor.warp.es/wp-content//uploads/2011/03/android_transaction_codes.txt),但是发现看到的不是很准确,(这个可以自己写个循环脚本试验一下)。i32代表数字,s16代表字符串。

     

    本人找不到真正代表window横竖屏的CODE,所以写了个循环脚本,通过观察现象,找到了对应的CODE,那就是74。

    adb shell service call window 74 i32 0(设置横屏)

    adb shell service call window 74 i32 1(设置竖屏)

     

    符上脚本代码:

    #!bin/bash
    count=0
    while [ "$count" -lt 1000 ]; do
    	echo "$count"
    	adb shell service call window "$count" i32 0
    	count=$(($count+1))
    done
     
    展开全文
  • 属性: ro.sf.hwrotation=0 主屏初始方向 (在./native/services/surfaceflinger/SurfaceFlinger.cpp进行赋值) ro.orientation.einit=90 副初始方向 ro.same.orientation=false ...通过adb shell 查看加速度计开启

    通过adb shell 查看加速度计开启情况

    //0:不支持旋转   1:支持旋转
    adb shell settings get system accelerometer_rotation

    通过adb shell 设定加速度计关闭与开启

    //0:不支持旋转   1:支持旋转
    adb shell settings put system accelerometer_rotation 0

    通过adb shell 查看指定的屏幕旋转方向

    //0:0度  1:90度 2:180度 3:270度
    adb shell settings get system user_rotation

    通过adb shell 更改指定的屏幕旋转方向

    //0:0度  1:90度 2:180度 3:270度
    adb shell settings put system user_rotation 0

    屏幕属性:

    路径:frameworks\base\core\java\android\content\pm\ActivityInfo.java

        /** @hide */
        @IntDef({
                SCREEN_ORIENTATION_UNSPECIFIED,//系统自动选择合适方向
                SCREEN_ORIENTATION_LANDSCAPE,//正向横屏,显示的宽比高长(锁死为横屏方向,不再让方向感应起作用)
       
    展开全文
  • minicap竖屏横屏切换

    2019-12-18 16:29:07
    minicap竖屏横屏切换minicap的使用minicap竖屏minicap横屏minicap竖屏和横屏的切换 minicap的使用 mnicap如何使用看这篇帖子就够了。 minicap竖屏 -P 后面的参数格式:{RealWidth}x{RealHeight}@{VirtualWidth}x{...

    minicap的使用

    mnicap如何使用看这篇帖子就够了。

    minicap竖屏

    -P 后面的参数格式:{RealWidth}x{RealHeight}@{VirtualWidth}x{VirtualHeight}/{Orientation}
    Orientation可以理解为手机的旋转角度,可选参数为 0 | 90 | 180 | 270

    init.js核心代码如下:

    'use strict';
    
    const execSync = require('child_process').execSync; 
    
    var info = {};
    /**
    * 获取手机像素
    */
    function getWMsize() {
    	var data = execSync('adb shell wm size').toString();
    	var size;
    	var regex = /\d+x\d+/g;
    	var match = regex.exec(data);
    	size = match[0];
    	return size;
    }
    
    /**
    *初始化
    */
    function initMinicap(){		
    	var size = getWMsize();
    	info.size = size;
    	info.width = size.substring(0,size.indexOf('x'));
    	info.height = size.substring(size.indexOf('x')+1);
    	var cwd = process.cwd();
    	cwd = cwd.replace(/\\/g,'/');
    	execSync('adb shell LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -P '+ info.width +'x'+ info.height +'@'+ info.width/3 +'x'+ (info.height/3) +'/0');
    	execSync('adb forward tcp:1717 localabstract:minicap');
    }
    //执行初始化
    initMinicap();
    

    minicap横屏

    只需要将Orientation改成90或者270即可实现横屏,其他代码块跟竖屏代码块保持一致就ok。

    minicap竖屏和横屏的切换

    目前只会手动方式。
    通过执行横屏或者竖屏的当前cmd窗口,ctrl+c即可停止。在这里插入图片描述
    还有一种方式是进入到adb shell下执行如下命令:

    在这里插入图片描述
    等我研究出如何自动关闭minicap实现竖屏和横屏的切换时再来更新这个帖子吧。

    minicap关闭

    (1)java代码实现

    	public static void excuteExec(int orientation){
    		OutputStream out;
    		InputStream in;
    		try {
    			Process pro = CMDutils.excuteCMD4Process(Content.ADB +" shell");
    			out = pro.getOutputStream();
    			in = pro.getInputStream();
    			BufferedReader reader = new BufferedReader(new InputStreamReader(in));
    			PrintWriter pw = new PrintWriter(out);
    			pw.println("ps -ef|grep minicap");
    			pw.flush();
    			String s = reader.readLine();
    			while (s!=null) {
    				//获取所需pid 并杀掉pid的进程
    				if(s.contains("shell") && s.contains(" minicap -P ")) {
    					System.out.println(s);
    					String[] strs = s.split(" ");
    					System.out.println(strs[8]);
    					//杀掉minicap进程
    					pw.println("kill -9 "+strs[8]);
    					pw.flush();
    					//重新启动minicap进程
    					MinicapActivity ac = new MinicapActivity();
    					ac.restartMinicap(orientation);
    				}
    				s = reader.readLine();
    			}
    		} catch (IOException e) {
    			System.out.println("ERROR:"+e.getMessage());
    		}
    	}
    

    (2)python脚本实现

    #查看minicap进程并杀掉
    pid_lines = os.popen('adb shell "ps -ef|grep minicap"').readlines()
    for one_line in pid_lines:
        pid_list = one_line.split()
        print(pid_list)
        if len(pid_list) > 7 and pid_list[7] != "grep" and pid_list[7] !="sh":
            os.system('adb shell "kill -9 "' + pid_list[1])
    
    展开全文
  • Android屏幕控制一:强制竖屏横屏

    万次阅读 2017-06-07 14:43:39
    默认情况下,app会随着手机方向的改变进行屏幕切换,手机横向摆放的时候,app屏幕就会切换到横屏,反之切换到竖屏,但是app是一般都是根据竖屏设计的,一旦切换到横屏,布局就会乱掉,所以没有考虑横屏设计的app一般...
  • 本篇文章主要介绍了Android开发强制横屏和强制竖屏设置实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • Android竖屏转横屏

    千次阅读 2019-05-10 08:43:36
    高通7.1竖屏转横屏 竖屏转横屏的patch: diff --git a/frameworks/base/cmds/bootanimation/BootAnimation.cpp b/frameworks/base/cmds/bootanimation/BootAnimation.cpp old mode 100644 new mode 100755 index...
  • 判断手机系统当前是否处于横竖屏状态 看过好几个例子,但是获取的都是当前应用中的界面是否是横竖屏,我现在有一个需求是判断系统是否处于横竖屏,不仅仅局限于自己的应用,还包括其他的应用。 private boolean ...
  • 安卓强制横屏或竖屏实例

    千次阅读 2017-09-14 16:23:08
    一. OS:安卓5.1 修改文件:frameworks/base/services/core/java/... 在函数updateOrientationFromAppTokensLocked, 强制为竖屏添加:req = ActivityInfo.SCREEN_ORIENTATION_PORTR...
  • 由于机器可能是横屏机器或者竖屏机器,并且因为功能需要不支持旋转屏幕。此时如果在机器上安装第三方APK,如微信,需要默认为和机器一样的方向,然而没有第三方APK的源码,修改默认屏幕方向的话只能需要去系统里想...
  • Android O 竖屏横用相关修改

    千次阅读 2018-08-30 15:39:38
    最近公司想要做个横屏的设备,考虑到是小屏,LCM由于工艺,防摔等因素不好替换,Manager让研究下竖屏横用。 需要考虑的方面: kernel_logo,bootanimation,系统,recovery ui,charger (关机充电)等。 1.kernel_...
  • Android之设置横屏竖屏

    万次阅读 2015-06-24 10:08:32
    方案一:在AndroidManifest.xml中配置 在项目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation属性,它有以下几个参数: ..."landscape":横显示(宽比高要长) 
  • 在一个Activity显示中判断当前屏幕横竖屏情况有几种方法: Configuration configuration = getResources().getConfiguration();if (configuration.orientation == Configuration.ORIENTATION_LANDSCAPE) {System....
  • Android L中Setupwizard保持竖屏处理

    千次阅读 2016-02-15 16:12:48
    在部分perso定制中需要Setupwizard启动过程中全程竖屏,默认屏幕旋转开启(adb shell settings get system accelerometer_rotation获取到的值为1),导致在Setupwizard启动过程中会随方向旋转。 二、解决方案 针对...
  • 方法一:screenOrientation = application.getResources().getConfiguration().orientation;方法二:screenOrientation = activity....获取当前activity 的横竖方向动态设置屏幕横竖屏:setRequestedOrientat...
  • 修改系统默认横竖屏

    2013-01-10 09:28:09
    修改系统默认横竖屏: 1.取出build.prop文件 取出方法: adb pull system/build.prop e:\\(取出到e盘) 打开build.prop文件,加入这句persist.default.rotation=90(改为默认横屏) 在push进去。
  • 查看当前的屏幕是竖屏还是横屏

    千次阅读 2013-09-09 19:04:08
    查看当前的屏幕是竖屏还是横屏: /frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java  static final boolean DEBUG = true;// deepin  static final boolean localLOGV = ...
  • hdmi 竖屏显示

    2019-09-26 14:01:35
    android 5.1 rk3288 diff --git a/device/rockchip/rk3288/system.prop b/device/rockchip/rk3288/system.prop index a97...-48,3 +48,6 @@ ro.adb.secure=0 persist.sys.timezone=Asia/Shanghai persist.sys.country=...
  • 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权...调试使用一款800x1280分辨率的,客户希望横使用(1280x800),且没有旋转过程,看起来就是横显示一样。修改主要涉及几个方面,第一是LK阶段的图片...
  • 玩过Android手机的同学们应该都很清楚手机横竖屏的机制吧,大部分游戏都是无法横竖屏切换的,有的游戏只能竖屏的玩,有的游戏只能横屏玩,为什么开发中要强制游戏为单一的屏幕呢?原因很简单就是因为切换屏幕后带来的...
  • 判断activity 是横屏还是竖屏

    千次阅读 2012-11-09 10:33:37
    点击打开链接:... 判断activity 是横屏还是竖屏  方法 1: //根据设备配置信息 Configuration cf= this.getResources().getConfiguration(); //获取设置的配置信息 int ori = cf.orientation ; //
  • android5.1竖屏横用显示旋转显示屏采用驱动IC为ili9881C,LCD的扫描方式参考:LCD扫描方向 图1上图中标示的地方是指page 1寄存器0x22不同值对应的第1个像素点,也就是显示原点,左边蓝色箭头表示显示原点在左下角时...
  • Adroid 横屏 竖屏切换

    千次阅读 2010-08-04 15:01:00
    以下贴别人的解决方案 :在开发游戏的时候,有些 游戏是只能横玩的,所以手机竖立放置的时候,要保持游戏画面依然横。要做到这个要求其实很简单,在AndroidManifest.xml里面配置一下就可以了。加入这一行...
  • Android强制设置横屏或竖屏

    千次阅读 2016-06-27 10:14:33
    含有"screenSize",那说明横竖屏切换的时候,activity不会重新创建绘制,此时的setContentView是不会执行的,此时要检测横竖屏的切换, 只能重写方法  onConfigurationChanged  :  @Override public void...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,574
精华内容 1,429
关键字:

adb竖屏