导航:首页 > 源码编译 > setting开发源码

setting开发源码

发布时间:2022-06-15 00:57:04

㈠ 有源代码,包括.myeclipse .setting .svn src webroot,.classpath .mymetadata .project test.sql文件

骚年,你要学的东西很多。
1、下载安装jdk
2、运行myeclipse
3、导入工程
4、配置服务器
5、安装对应数据库
6、执行SQL文件内容
7、部署工程
8、运行工程
9、打开浏览器访问

㈡ 怎样在源代码中修改android系统的屏幕默认

1、首先解决【设置】界面默认显示【开发者选项】的问题

查看源代码:packages/apps/Settings/src/com/android/settings/SettingsActivity.java

在updateTilesList(Listtarget)方法中,可以找到【开发者选项】相关的代码:

else if (id == R.id.development_settings) {Log.d(LOG_TAG, =================oyp K=+showDev);if (!showDev || um.hasUserRestriction(UserManager.DISALLOW_DEBUGGING_FEATURES)) {removeTile = true;}}


其中showDev变量定义在该方法最开始处

final boolean showDev = mDevelopmentPreferences.getBoolean(DevelopmentSettings.PREF_SHOW,android.os.Build.TYPE.equals(eng));


因此要想特定客户直接显示【开发者选项】,则将showDev的值改变即可,代码如下:

//added by ouyang 2015-11-10 set DevelopmentSettings.PREF_SHOW=true if model is J5if (android.os.SystemProperties.isJ5Version()) {SharedPreferences.Editor editor=mDevelopmentPreferences.edit();editor.putBoolean(DevelopmentSettings.PREF_SHOW, true);editor.commit();Log.d(LOG_TAG, =================oyp set DevelopmentSettings.PREF_SHOW=true if model is J5 );}//added by ouyang 2015-11-10 endfinal boolean showDev = mDevelopmentPreferences.getBoolean(DevelopmentSettings.PREF_SHOW,android.os.Build.TYPE.equals(eng));


即在初始化showDev变量之前,将DevelopmentSettings.PREF_SHOW的值设置为true,那么showDev也会是true。这样【开发者选项】就会默认打开。那个判断是J5客户的方法在/frameworks/base/core/java/android/os/SystemProperties.java中定义

public static boolean isJ5Version(){return SystemProperties.get(ro.proct.model).contains(J5);}



因为这个添加的代码是在SecuritySettings的createPreferenceHierarchy()方法中,也就是说要进入到该Activity才生效。这样明显没达到目的。

因此要和设置【USB调试】一样,在一个接收开机广播的广播接收者中将Settings.Global.INSTALL_NON_MARKET_APPS设置为1。

4、找Settings里面定义的一个接收开机广播的广播接收者,在AndroidManifest.xml中找到一个,当然你也可以自己定义一个这样的广播接收者。

<!-- Restore Rotation Receiver --><receiver android:name="com.mediatek.settings.RestoreRotationReceiver"><intent-filter></action></action></intent-filter></receiver>


因此在packages/apps/Settings/src/com/mediatek/settings/RestoreRotationReceiver.java的onReceive(Context context, Intent intent)方法中加入以下代码:

//added by ouyang 2015-11-13if (android.os.SystemProperties.isJ5Version()) {// 开机启动时,默认设置 [未知来源] 勾选Settings.Global.putInt(context.getContentResolver(), Settings.Global.INSTALL_NON_MARKET_APPS,1);// 开机启动时,默认设置 [USB调试] 勾选Settings.Global.putInt(context.getContentResolver(),Settings.Global.ADB_ENABLED, 1);}//added by ouyang 2015-11-13 end

而一开始添加的代码可以注释掉了。通过git diff可以看出来

diff --git a/packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java b/packages/apps/Settings/src/com/android/settings/Develindex 0a987df..503270a 100755--- a/packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java+++ b/packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java@@ -508,15 +508,9 @@ public class DevelopmentSettings extends Context context = getActivity();final ContentResolver cr = context.getContentResolver();mHaveDebugSettings = false;-/// M: CR ALPS00244115. Lock and unlock screen, the USB debugging is unchecked.boolean isChecked = (mAdbDialog != null && mAdbDialog.isShowing()) ? true :(Settings.Global.getInt(cr, Settings.Global.ADB_ENABLED, 0) != 0);- //added by ouyang 2015-11-10 set mEnableAdb=true if model is J5- if (android.os.SystemProperties.isJ5Version()) {- isChecked=true;- }- //added by ouyang 2015-11-10 enpdateSwitchPreference(mEnableAdb, isChecked);/// M: update usb preference againmExt.customUSBPreference(mEnableAdb);
diff --git a/packages/apps/Settings/src/com/android/settings/SecuritySettings.java b/packages/apps/Settings/src/com/android/settings/Securityindex 4de173a..392e6ee 100755--- a/packages/apps/Settings/src/com/android/settings/SecuritySettings.java+++ b/packages/apps/Settings/src/com/android/settings/SecuritySettings.java@@ -402,14 +402,7 @@ public class SecuritySettings extends .findPreference(KEY_DEVICE_ADMIN_CATEGORY);mToggleAppInstallation = (SwitchPreference) findPreference(KEY_TOGGLE_INSTALL_APPLICATIONS);-- //added by ouyang 2015-11-10 setChecked(true) if the model is J5- if (android.os.SystemProperties.isJ5Version()) {- setNonMarketAppsAllowed(true);- }mToggleAppInstallation.setChecked(isNonMarketAppsAllowed());- //added by ouyang 2015-11-10 end-// Side loading of apps.// Disable for restricted profiles. For others, check if policy disallows it.mToggleAppInstallation.setEnabled(!um.getUserInfo(UserHandle.myUserId()).isRestricted());


这样改为后,编译,刷机后,插上USB数据线就可以开始进行adb调试了,而且可以直接安装未知来源的apk了。

㈢ 如何在系统settings里添加设置选项

目的:在通话设置菜单下,添加一dect设置菜单,里面再添加一checkBOxPreference

来使能硬件模块。

-------------------------

目前做的项目,需要在系统settings里面添加一选项来使能硬件模块,里面涉及到的preference知识,请网上了解,这里记录下方法。

1,settings 应用一般在 目录:\packages\apps\Settings,我们先找到通话设置的布局位置,看看它在那个包路径下,进入\packages\apps\Settings\res\xml,打开settings.xml文件:

Java代码

<com.android.settings.IconPreferenceScreen

android:key="call_settings"

settings:icon="@drawable/ic_settings_call"

android:title="@string/call_settings_title">

<intent

android:action="android.intent.action.MAIN"

android:targetPackage="com.android.phone"

android:targetClass="com.android.phone.CallFeaturesSetting" />

</com.android.settings.IconPreferenceScreen>

<com.android.settings.IconPreferenceScreen

android:key="call_settings"

settings:icon="@drawable/ic_settings_call"

android:title="@string/call_settings_title">

<intent

android:action="android.intent.action.MAIN"

android:targetPackage="com.android.phone"

android:targetClass="com.android.phone.CallFeaturesSetting" />

</com.android.settings.IconPreferenceScreen>

android:targetPackage="com.android.phone"

android:targetClass="com.android.phone.CallFeaturesSetting"

targetPackage:表示包名,根据此我们可以找到通话设置的路径。

targetClass:表示此布局文件被那个类所引用,根据此类,我们可以知道在那个文件里面管理我们的通话设置功能。 www.55zm.com

2.根据包名,我们可以看到在\packages\apps\Phone 目录下,进入\res\xml目录下

找到通话布局文件:call_feature_setting.xml,根据类名,很容易找到布局文件。

里面内容如下:

Java代码

<PreferenceCategory android:key="button_misc_category_key"

android:title="@string/other_settings"

android:persistent="false" />

<!-- Dect settings -->

<PreferenceScreen

android:key="dect_settings"

android:title="@string/dect_mole_title"

android:summary="@string/dect_mole_title" >

<intent

android:action="android.intent.action.MAIN"

android:targetPackage="com.android.phone"

android:targetClass="com.android.phone.DectSettings" />

</PreferenceScreen>

<CheckBoxPreference

android:key="button_auto_retry_key"

android:title="@string/auto_retry_mode_title"

android:persistent="false"

android:summary="@string/auto_retry_mode_summary"/>

<PreferenceCategory android:key="button_misc_category_key"

android:title="@string/other_settings"

android:persistent="false" />

<!-- Dect settings -->

<PreferenceScreen

android:key="dect_settings"

android:title="@string/dect_mole_title"

android:summary="@string/dect_mole_title" >

<intent

android:action="android.intent.action.MAIN"

android:targetPackage="com.android.phone"

android:targetClass="com.android.phone.DectSettings" />

</PreferenceScreen>

<CheckBoxPreference

android:key="button_auto_retry_key"

android:title="@string/auto_retry_mode_title"

android:persistent="false"

android:summary="@string/auto_retry_mode_summary"/>

Dect setting 就是新添加进入的设置菜单,我们的原则尽量不大量修改,所以添加一个PreferenceScreen,新增一个类文件来管理DECt菜单选项。

android:targetPackage="com.android.phone"

android:targetClass="com.android.phone.DectSettings"

我们指明了包名,类名后,因这是个activity,所以我们需要到Phone目录下修改

AndroidManifest.xml文件,指明启动的activity的类名.

Java代码

<activity android:name="CdmaCallOptions"

android:label="@string/cdma_options">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

</intent-filter>

</activity>

<!-- dect activity -->

<activity android:name="DectSettings"

android:label="@string/dect_mole_title">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

</intent-filter>

</activity>

<activity android:name="CdmaCallOptions"

android:label="@string/cdma_options">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

</intent-filter>

</activity>

<!-- dect activity -->

<activity android:name="DectSettings"

android:label="@string/dect_mole_title">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

</intent-filter>

</activity>

3.修改好后,我们必须在此activity里添加preference布局文件。

在此目录Phone\res\xml下,新增dect_settings.xml

Java代码

<?xml version="1.0" encoding="utf-8"?>

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"

android:title="@string/dect_mole_title">

<CheckBoxPreference

android:key="button_dect_mole_key"

android:title="@string/dect_mole_title"

android:defaultValue="true"

android:summaryOn="@string/dect_mole_start"

android:summaryOff="@string/dect_mole_stop"

/>

</PreferenceScreen>

<?xml version="1.0" encoding="utf-8"?>

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"

android:title="@string/dect_mole_title">

<CheckBoxPreference

android:key="button_dect_mole_key"

android:title="@string/dect_mole_title"

android:defaultValue="true"

android:summaryOn="@string/dect_mole_start"

android:summaryOff="@string/dect_mole_stop"

/>

</PreferenceScreen>

好了,总体布局已经完成

4.在\packages\apps\Phone\src\com\android\phone目录下

新增DectSettings.java文件

加载布局文件:

//dect xml

addPreferencesFromResource(R.xml.dect_settings);

里面涉及到的MidPhoneServce服务,是自己添加的,主要通过此服务的AIDL接口跟硬件打交道。想了解系统服务,请网上查找资料。

源码如下:

Java代码

package com.android.phone;

import android.content.DialogInterface;

import android.os.AsyncResult;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.preference.CheckBoxPreference;

import android.preference.Preference;

import android.preference.PreferenceActivity;

import android.preference.PreferenceScreen;

import android.content.SharedPreferences;

import android.content.SharedPreferences.Editor;

import android.content.pm.ActivityInfo;

import android.content.pm.PackageManager;

import android.content.pm.ResolveInfo;

import android.os.Bundle;

import android.os.Handler;

import android.util.Log;

import android.content.Context;

import com.android.phone.R;

import android.os.IMidPhoneService;

import android.os.RemoteException;

import android.os.ServiceManager;

import android.provider.Settings;

public class DectSettings extends PreferenceActivity {

private static final String TAG = "DectSettings";

private static final String BUTTON_DECT_KEY = "button_dect_mole_key";

private CheckBoxPreference mButtonDect;

public IMidPhoneService midphoneservice = null;

@Override

protected void onCreate(Bundle icicle) {

super.onCreate(icicle);

//dect xml

addPreferencesFromResource(R.xml.dect_settings);

mButtonDect = (CheckBoxPreference)findPreference(BUTTON_DECT_KEY);

mButtonDect.setPersistent(false);

if(mButtonDect != null) {

int dect_state = Settings.System.getInt(

getContentResolver(),Settings.System.DECT_SAVED_STATE, 1);

mButtonDect.setChecked( dect_state!= 0);

Settings.System.putInt(getContentResolver(),

Settings.System.DECT_SAVED_STATE,dect_state);

Log.e(TAG,"settings:------------->" + dect_state);

}

}

@Override

public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {

if (preference == mButtonDect ) {

int dect = mButtonDect.isChecked() ? 1 : 0;

boolean state;

if(dect == 1)

state = true;

else

state = false;

try{

midphoneservice = IMidPhoneService.Stub.asInterface(ServiceManager.getService("midphone"));

Settings.System.putInt(getContentResolver(),

Settings.System.DECT_SAVED_STATE,dect);

midphoneservice.setDectEnabled(state);

Log.e(TAG,"settings:------------->" + dect);

} catch (RemoteException e) {

e.printStackTrace();

}

return true;

}

return false;

}

@Override

protected void onResume() {

super.onResume();

if (mButtonDect != null) {

mButtonDect.setChecked(Settings.System.getInt(

getContentResolver(),

㈣ Developer Settings是什么

这个developer setting跟你手机里装的app的源码之类无关的,就是测试app的,看看app使用时的耗电,网络连接快慢之类。应该有人开发了iphone应用之后在手机上测试他的性能时候用的。自己用着嘛,开或关都无所谓啦,没什么用。

㈤ java源代码文件夹里面有.settings、bin、lib、src文件夹和几个文件cmd怎么运行

安装jdk,配置环境变量,用java和javac命令来跑。一个实现将java文件编译成class字节码文件,一个实现class文件的运行。或者,你安装一个eclipse,然后将项目导入,然后运行,就可以了。

㈥ 请教如何修改源码禁止USB调试,包括setting中的显示

你好,很高兴为你解答:
getPreferenceScreen().removePreference(mEnableAdb);
persist.sys.usb.config=mass_storage,adb---------->persist.sys.usb.config=mass_storage
USB调试打开关闭好像跟persist.sys.usb.config 以及ro.debuggable相关
尝试屏蔽掉setting/values/string中的USB调试
~如果你认可我的回答,请及时点击【采纳为满意回答】按钮
~~手机提问的朋友在客户端右上角评价点【满意】即可。
~你的采纳是我前进的动力
~~O(∩_∩)O,记得好评和采纳,互相帮助,谢谢。

㈦ android源码编译 setting界面怎么设置成全屏而非半屏

好的。。。

㈧ Android4.1源码中哪里修改 Settings中Font size的默认选项

frameworks/base/core/java/android/content/res/Configuration.java文件中
public void setToDefaults() 这个方法中进行修改,

把默认字体要改为大,把fontScale值改为1.15f,全清编译;
public void setToDefaults() {
fontScale = 1.15f; //normal value is 1

㈨ 如何学习 android setting 源码

我是一名计算机系的大学生,我们是从学习C语言来学习编程的,看谭浩强的那本C语言就行了。不过你的数学基础的好一点,英语也不能太差了。因为如果知道了那些关键字和语句的意思后就比较好理解了。 这本书书店里应该有,如果你找不到,就干脆上网上下,多的是。 不过我认为看电子书没有看纸质的书爽。刚开始的时候你会觉得有点难,不过没关系,只要你坚持下来,什么都好说。希望你的学习顺利。

阅读全文

与setting开发源码相关的资料

热点内容
java字符处理函数 浏览:274
指纹用于应用加密什么意思 浏览:998
怎么取消苹果手机的appid密码 浏览:997
门禁系统录制卡怎么加密 浏览:753
ssm看源码哪本书好 浏览:933
linux查看网卡的命令 浏览:497
basic语言算法 浏览:13
怎么快捷删除无用文件夹 浏览:475
你家离学校源码用英语回答 浏览:504
电脑如何用服务器地址 浏览:652
php转化为二进制 浏览:738
程序员到国企感受 浏览:863
js二分搜索算法 浏览:658
文件夹的定义与原意 浏览:202
phpredis任务队列 浏览:463
文件夹的颜色代表什么 浏览:895
单片机模拟通信 浏览:931
pandas在哪里编译 浏览:918
安卓机怎么调清晰度 浏览:346
开始菜单文件夹英语 浏览:887