導航:首頁 > 源碼編譯 > 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開發源碼相關的資料

熱點內容
現在還有什麼手機好用的app 瀏覽:324
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