但改变分辨率时,发送广播即可:

Intent intent_outputmode_change = new Intent(ACTION_OUTPUTMODE_CHANGE);
     intent_outputmode_change.putExtra(OUTPUT_MODE, outputmode_entries_logic);
     intent_outputmode_change.putExtra("cvbs_mode", 1/0);     
     this.getContext().sendBroadcast(intent_outputmode_change);

import android.content.Context;
import android.content.Intent;
import android.util.Log;public class DisplayUtil {private final static String ACTION_OUTPUTMODE_CHANGE = "android.intent.action.OUTPUTMODE_CHANGE";    private final static String OUTPUT_MODE = "output_mode";private final static String ACTION_OUTPUTMODE_SAVE = "android.intent.action.OUTPUTMODE_SAVE";private final static String ACTION_OUTPUTPOSITION_CHANGE = "android.intent.action.OUTPUTPOSITION_CHANGE";private final static String ACTION_OUTPUTPOSITION_SAVE = "android.intent.action.OUTPUTPOSITION_SAVE";private final static String ACTION_OUTPUTPOSITION_DEFAULT_SAVE = "android.intent.action.OUTPUTPOSITION_DEFAULT_SAVE";private final static String OUTPUT_POSITION_X = "output_position_x";private final static String OUTPUT_POSITION_Y = "output_position_y";private final static String OUTPUT_POSITION_W = "output_position_w";private final static String OUTPUT_POSITION_H = "output_position_h";private final static String OUTPUT_POSITION_MODE = "output_position_mode";private static final String TAG = "======";public static void setOutputMode(Context c, String mode) {Intent intent_outputmode_change = new Intent(ACTION_OUTPUTMODE_CHANGE);intent_outputmode_change.putExtra(OUTPUT_MODE, mode);intent_outputmode_change.putExtra("cvbs_mode", 0);c.sendBroadcast(intent_outputmode_change);Intent intent_outputmode_save = new Intent(ACTION_OUTPUTMODE_SAVE);intent_outputmode_save.putExtra(OUTPUT_MODE, mode);c.sendBroadcast(intent_outputmode_save);}public static void setPosition(Context context, int l, int t, int r, int b,int mode) {Intent intent_output_position = new Intent(ACTION_OUTPUTPOSITION_CHANGE);intent_output_position.putExtra(OUTPUT_POSITION_X, l);intent_output_position.putExtra(OUTPUT_POSITION_Y, t);intent_output_position.putExtra(OUTPUT_POSITION_W, r);intent_output_position.putExtra(OUTPUT_POSITION_H, b);intent_output_position.putExtra(OUTPUT_POSITION_MODE, mode);context.sendBroadcast(intent_output_position);//        savePosition(context, l,t,r,b);
        Log.i(TAG, "--------------------------------position Set");Log.d(TAG, "--------------------------------set display axis x = " + l);Log.d(TAG, "--------------------------------set display axis y = " + t);Log.d(TAG, "--------------------------------set display axis width = " + r);Log.d(TAG, "--------------------------------set display axis height = " + b);}public static void savePosition(Context context, int left, int top,int width, int height) {Intent intent_output_position = new Intent(ACTION_OUTPUTPOSITION_SAVE);intent_output_position.putExtra(OUTPUT_POSITION_X, left);intent_output_position.putExtra(OUTPUT_POSITION_Y, top);intent_output_position.putExtra(OUTPUT_POSITION_W, width);intent_output_position.putExtra(OUTPUT_POSITION_H, height);context.sendBroadcast(intent_output_position);
//        Log.i(TAG, "--------------------------------position Set");
//        Log.d(TAG, "--------------------------------set display axis x = " + x);
//        Log.d(TAG, "--------------------------------set display axis y = " + y);
//        Log.d(TAG, "--------------------------------set display axis width = " + position_cur.width);
//        Log.d(TAG, "--------------------------------set display axis height = " + position_cur.height);
}public static void savePositionDefault(Context context) {Intent intent_output_position = new Intent(ACTION_OUTPUTPOSITION_DEFAULT_SAVE);context.sendBroadcast(intent_output_position);}}

View Code

分辨率显示outputmode_entries_display和取值outputmode_entries_logic:

<!-- Display settings.  The type of output mode to show. -->
      <string-array name="outputmode_entries_display">
          <item>480P</item>
          <item>576P</item>
          <item>720P 60HZ</item>
          <item>1080I 60HZ</item>
          <item>1080P 60HZ</item>
          <item>720P 50HZ</item>
          <item>1080I 50HZ</item>
      </string-array>
      <string-array name="outputmode_entries_logic">
          <item>480p</item>
          <item>576p</item>
          <item>720p</item>
          <item>1080i</item>
          <item>1080p</item>
          <item>720p50hz</item>
          <item>1080i50hz</item>
      </string-array>

<receiver android:name="net.sunniwell.settings.sdzx.content.OutputSettingsBroadcastReceiver">
           <intent-filter>
               <action android:name="android.intent.action.BOOT_COMPLETED"/>
               <action android:name="android.intent.action.OUTPUTMODE_CHANGE"/>
               <action android:name="android.intent.action.OUTPUTMODE_CANCEL"/>
               <action android:name="android.intent.action.OUTPUTMODE_SAVE"/>
               <action android:name="android.intent.action.OUTPUTPOSITION_CHANGE"/>
               <action android:name="android.intent.action.OUTPUTPOSITION_CANCEL"/>
               <action android:name="android.intent.action.OUTPUTPOSITION_SAVE"/>
               <action android:name="android.intent.action.OUTPUTPOSITION_DEFAULT_SAVE"/>
               <action android:name="android.intent.action.DISP_CHANGE"/>
               <action android:name="android.intent.action.REALVIDEO_ON"/>
               <action android:name="android.intent.action.REALVIDEO_OFF"/>
               <action android:name="android.intent.action.VIDEOPOSITION_CHANGE"/>
               <action android:name="android.intent.action.CVBSMODE_CHANGE"/>
           </intent-filter>
        </receiver>

如果setting没带处理,需要自己做:

settings源码的文件:

OutputSettingsBroadcastReceiver.java 改变分辨率。

HDMICheckHandler.java 自动检测hdmi最佳分辨率。

位置坐标文件,实现屏幕放大,缩小: /sys/class/ppmgr/ppscaler_rect: x:58,y:29,w:1280,h:720

分辨率文件: /sys/class/display/mode : 1080p

转载于:https://www.cnblogs.com/bigben0123/p/4679274.html

android HDMI 清晰度 分辨率相关推荐

  1. android 分辨率合集,Android编程之分辨率处理相关代码段合集

    本文实例讲述了Android编程之分辨率处理相关代码段.分享给大家供大家参考,具体如下: 1. 通常我们所说的屏幕分辨率如800x480.960x540等.这些分辨率是可以通过代码获取到的.手机屏幕分 ...

  2. android适配不同分辨率的手机

    android中不同手机分辨率适配问题 在项目开发的过程中,同一个布局对应不同的手机会显示出不同的效果.导致这个现象产生的原因是不同手机的分辨率不同.在android sdk提供的帮助文档中,我们可以 ...

  3. android分辨率 x y,Android - 确定不同分辨率的位图上的特定位置(X,Y坐标)?

    我正在尝试创建的应用程序是棋盘游戏.它将有一个位图作为棋盘和棋子,移动到棋盘上的不同位置.该板的一般设计是方形的,具有一定数量的行和列,并具有用于外观的边框.想象一下国际象棋棋盘或拼字游戏板.Andr ...

  4. 获取Android手机的分辨率通过ADB命令

    获取Android手机的分辨率通过ADB命令 adb shell dumpsys window displays//此命令即可获取 WINDOW MANAGER DISPLAY CONTENTS (d ...

  5. Android Studio 屏幕分辨率适配

    android studio进行android 应用屏幕分辨率适配使用建立不同dimens.xml方法,刚开始建立的文件夹都叫 values-1280x720 values-800x400之类的,发现 ...

  6. Android HDMI audio设备插拔事件

    Android Q HDMI Audio热插拔检测 一.Android audio设备插拔事件检测 1.1两种机制的切换 1.2 Android 耳机插拔事件处理流程 1.3 InputEvent机制 ...

  7. Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性

    Android平台根据分辨率计算屏幕尺寸,基于物理尺寸来验证手机和平板应用合并的可行性   出发点:Android系统本身是支持多种分辨率的,如图1所示,一般情况下要适配不同尺寸的设备只需要做两件事, ...

  8. Unity3D Android手机屏幕分辨率问题

    Android手机屏幕分辨率五花八门,导致开发时不好把握,还好各个引擎对这个屏幕分辨率问题都有较好的处理方式:unity3D 也为我们提供了一个不错的解决方案. 在Unity3D 进行 android ...

  9. adb 查看屏幕大小_Android应用开发之adb命令如何获取android手机屏幕分辨率

    本文将带你了解Android应用开发之adb命令如何获取android手机屏幕分辨率,希望本文对大家学Android有所帮助 #### 1.   通用方法: adb shell dumpsys win ...

最新文章

  1. 用C#实现抽象工厂模式
  2. SSM登陆拦截器实现
  3. Linux下rgmii接口,zynq7010 petalinux 2019.2 RGMII via EMIO 连接问题
  4. Py之fvcore:fvcore库的简介、安装、使用方法之详细攻略
  5. c结构体里的数组与指针
  6. 在linux系统上使用jmeter
  7. 【笔试常考】C语言:深度剖析strlen,sizeof
  8. Apache RocketMQ 安装、测试、报错解决
  9. Java StringBuilder codePointBefore()方法与示例
  10. Python编辑距离
  11. TML5 App 开发框架收集
  12. 二叉树 知道度 求节点数
  13. DPDK-UIO 驱动认识
  14. 用sql语句也样创建oracle,Oracle中用sql语句创建数据库
  15. Linux环境下FFMPEG的安装与配置
  16. 欢迎使用CSDN-markdown编辑器萨达所大所大所大所
  17. SCZ的3篇有关sam的文章
  18. 你还在找音乐网站吗?试试这几个吧
  19. 京东商城API 京东商品评论列表
  20. 微信小程序 slot插槽基本使用

热门文章

  1. 程序员面试系列——冒泡排序
  2. linux命令修改管理员时间,Linux管理员必须知道的sudo命令
  3. gRPC客户端创建和调用原理解析
  4. 深度学习指南:在iOS平台上使用TensorFlow
  5. 如何优化 Android Studio 启动、编译和运行速度?
  6. c++ 代码_C代码对汇编代码中声明的全局符号的访问方式详解
  7. python 排序_Python 排序了解一下?
  8. mysql 远程攻击_gopher 协议攻击内网 mysql
  9. bn层初始化参数_神经网络参数初始化方式
  10. python3 logging模块_Python3之logging模块浅析