mtk android 笔记,MTK android 笔记

修改文件PATH:android4.0/frameworks/base/services/java/com/android/server/wm/WindowManagerService.java

修改以下方法

int computeForcedAppOrientationLocked() {

int req = getOrientationFromWindowsLocked();

if (req == ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED) {

req = getOrientationFromAppTokensLocked();

}

// req = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; //强制横屏0度

// req = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT; //强制竖屏左转90度

return req;

}

1.去除休眠

frameworks/base/packages/SettingsProvider/res/values/defaults.xml

60000

60000ms,修改为-1。-1代表0xffffffff,等于永远不要休眠了

2.去除锁屏

Frameworks/base/policy/src/com/android/internal/policy/impl/KeyguardViewMediator.java

private boolean mExternallyEnabled = true

将mExternallyEnabled 修改为false,就可以默认不启动锁屏

1. 找到display_settings.xml

// 背光的调用入口

//重力感应的调用入口

2. 注释重力感应的实现DisplaySettings.java

查找关键字 accelerometer 注释和它相关的代码就可以了。

3.accessibility_settings.xml

4.辅助功能

AccessibilitySettings.java

搜索 toggle_auto_rotate_screen_preference关键字

一,修改按键音:

1、frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

函数: private void loadSystemSettings(SQLiteDatabase db)

中加入这个:

loadBooleanSetting(stmt,

Settings.System.SOUND_EFFECTS_ENABLED,

R.bool.def_sound_effects_enables);

2、frameworks/base/packages/SettingsProvider/res/values/defaults.xml

最后加入:

false

去掉快速关机选项:

packages/apps/Settings/res/xml/accessibility_settings.xml

android:key="ipo_setting"

android:title="@string/ipo_title"

android:summaryOn="@string/ipo_summary_on"

android:summaryOff="@string/ipo_summary_off"

android:persistent="false"

android:order="8" />

默认关闭:

frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

loadBooleanSetting(stmt, Settings.System.IPO_SETTING,

R.bool.def_ipo_setting);

frameworks/base/packages/SettingsProvider/res/values/defaults.xml

true

Android

adb 获取root权限

(1) 自己编译的Android

中,adb shell后 自动获取root权限(即显示#而不是$):

方法:

修改./default.prop

把ro.secure设为0,persist.service.adb.enable设为1,adbd进程就会以root用户的身份启动。原理请看以下转载文章。

(2)其他程序要获得root权限(无GUI确认):

需要使用完全自由的su程序,改造自Superuser的su源码– 无限制无管理功能的su(https://github.com/wendal/android_su),这里提供的su,去掉了GUI确认等繁琐操作,任何程序都可以无提示获取root权限,自行添加的话,请确保所在分区支持suid,并设置su的权限为6777。(引用自:让你的Android彻底裸奔吧!!

— 瘫痪Android的安全机制

GeminiPhone.java/PhoneBase.java中提供了一个API:

invokeOemRilRequestStrings(),通过该API可以将具体的at cmd命令下发并将命令执行结果返回给上层。

Demo code如下:

查询IMEI号

import

com.android.internal.telephony.Phone;

import

com.android.internal.telephony.PhoneFactory;

import

com.android.internal.telephony.gemini.GeminiPhone;

Phone

phone;

phone =

PhoneFactory.getDefaultPhone();

String ImeiString[]=new

String[2];

ImeiString[0] =

{"AT+EGMR=0,7"};

ImeiString[1] =

{"+EGMR"}; //第二个string必须有,且名字是此AT名字,主要给rild用,不会下给modem;否则不会通过此channel返回上来response

((GeminiPhone)

phone).invokeOemRilRequestStrings(ImeiString,mHandler.obtainMessage(EVENT_GET_IMEI_DONE_1));

public void

handleMessage(Message msg) {

switch

(msg.what)

{

case EVENT_GET_IMEI_DONE_1:

ar

= (AsyncResult)msg.obj;

Log.d

(LOG_TAG, "mHandler.handleMessage() :

EVENT_GET_IMEI_DONE_1");

if

(ar.exception == null) {//成功

Log.d(LOG_TAG,

"ar.exception == null");

String[]

newIMEI=(String[])(ar.result);

StringBuilder

sb=new StringBuilder();

for(int

i=0;i

sb.append(newIMEI[i]);

Log.d("jby","newIMEI

is : " +sb);

}

else

Log.d(LOG_TAG,

"ar.exception != null");//失败

break;

}

}

转自

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值