安卓设置的修改

平台:IMX6

O S :安卓4.4.2


1.去掉设置里面的法律选项里的版权和terms and conditions

+++ b/src/com/android/settings/DeviceInfoSettings.java
@@ -133,17 +133,18 @@ public class DeviceInfoSettings extends RestrictedSettingsFragment {
          * Settings is a generic app and should not contain any device-specific
          * info.
          */
+         Log.e(LOG_TAG, "-------------------------");
         final Activity act = getActivity();
         // These are contained in the "container" preference group
         PreferenceGroup parentPreference = (PreferenceGroup) findPreference(KEY_CONTAINER);
-       /* Utils.updatePreferenceToSpecificActivityOrRemove(act, parentPreference, KEY_TERMS,
+       /*Utils.updatePreferenceToSpecificActivityOrRemove(act, parentPreference, KEY_TERMS,
                 Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
         Utils.updatePreferenceToSpecificActivityOrRemove(act, parentPreference, KEY_LICENSE,
                 Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
         Utils.updatePreferenceToSpecificActivityOrRemove(act, parentPreference, KEY_COPYRIGHT,
-                Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);*/
-        Utils.updatePreferenceToSpecificActivityOrRemove(act, parentPreference, KEY_TEAM,
                 Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
+        Utils.updatePreferenceToSpecificActivityOrRemove(act, parentPreference, KEY_TEAM,
+                Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);*/
 
         // These are contained by the root preference screen
         parentPreference = getPreferenceScreen();
@@ -178,7 +179,12 @@ public class DeviceInfoSettings extends RestrictedSettingsFragment {
     @Override
     public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preferenc:e 
preference) {
-        if (preference.getKey().equals(KEY_FIRMWARE_VERSION)) {
+       Log.e(LOG_TAG, "-------------------------" + preference.getKey());
+               
+               if (preference.getKey().equals(KEY_COPYRIGHT) || preference.getKey().equals
(KEY_TERMS))
+                       return true;
+               }
+               if (preference.getKey().equals(KEY_FIRMWARE_VERSION)) {
             System.arraycopy(mHits, 1, mHits, 0, mHits.length-1);


2.删除设置里面的某个选项, 比如删除其他系统更新
修改文件:packages/apps/Settings/ src/com/android/settings/DeviceInfoSettings.java
private static final String KEY_UPDATE_SETTING = "additional_system_update_settings";
// Remove additional_system_update_settings
把getPreferenceScreen().removePreference(findPreference(KEY_UPDATE_SETTING)); 加到onCreat函数里面。

3.设置里添加选项关于ECG和删除安全选项
关于ECG点开是一张图片
--- a/packages/apps/Settings/AndroidManifest.xml
+++ b/packages/apps/Settings/AndroidManifest.xml
@@ -836,8 +837,8 @@
                 android:value="com.android.settings.SecuritySettings" />
-            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
-                android:resource="@id/security_settings" />
+            <!--<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+                android:resource="@id/security_settings" />-->
@@ -848,8 +849,8 @@
                 android:value="com.android.settings.SecuritySettings" />
-            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
-                android:resource="@id/security_settings" />
+            <!--<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+                android:resource="@id/security_settings" />-->
@@ -898,8 +899,8 @@
                 android:value="com.android.settings.DeviceAdminSettings" />
-            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
-                android:resource="@id/security_settings" />
+            <!--<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+                android:resource="@id/security_settings" />-->
@@ -913,8 +914,8 @@
                 android:value="com.android.settings.DeviceAdminSettings" />
-            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
-                android:resource="@id/security_settings" />
+            <!--<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+                android:resource="@id/security_settings" />-->
@@ -956,8 +957,8 @@
-            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
-                android:resource="@id/accessibility_settings" />
+            <!--<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+                android:resource="@id/accessibility_settings" />-->
@@ -1417,8 +1418,8 @@
                 android:value="com.android.settings.AccessibilitySettings" />
-            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
-                android:resource="@id/accessibility_settings" />
+            <!--<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+                android:resource="@id/accessibility_settings" />-->
@@ -1485,8 +1486,8 @@
                 android:value="com.android.settings.CryptKeeperSettings" />
-            <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
-                android:resource="@id/security_settings" />
+            <!--<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
+                android:resource="@id/security_settings" />-->

 +++ b/packages/apps/Settings/res/values-zh-rCN/strings.xml
     <string name="location_sources_heading" msgid="1278732419851088319">"位置信息来源"</string>
+    <string name="about_ecg" >"关于ECG"</string>

+++ b/packages/apps/Settings/res/values/strings.xml
+    <string name="about_ecg" >"关于ECG"</string>

+++ b/packages/apps/Settings/res/xml/settings_headers.xml
@@ -106,18 +99,18 @@
         android:title="@string/power_usage_summary_title" />
     <!-- Security -->
-    <header
+    <!--<header
         android:fragment="com.android.settings.SecuritySettings"
         android:icon="@drawable/ic_settings_security"
         android:title="@string/security_settings_title"
-        android:id="@+id/security_settings" />
+        android:id="@+id/security_settings" />-->
+    <!-- About ECG -->
+      <header
+       android:id="@+id/about_ecg"
+        android:fragment="com.android.settings.ECGInfoSettings"
+       android:icon="@drawable/ic_settings_about"
+       android:title="@string/about_ecg" /> 

+++ b/packages/apps/Settings/src/com/android/settings/Settings.java
@@ -68,6 +68,20 @@ import java.util.Comparator; 
+import android.app.Dialog;
+import android.app.DialogFragment;
+import android.app.Fragment;
+import android.view.Window;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.widget.ImageView;
+import java.io.File;
+import java.io.IOException;
+import java.io.FileNotFoundException;
+import java.io.FileInputStream;
+import java.io.InputStream;
+
 /**
  * Top-level settings activity to handle single pane and double pane UI layout.
  */
@@ -102,29 +116,28 @@ public class Settings extends PreferenceActivity
-            R.id.location_settings,
-            R.id.security_settings,
+            //R.id.location_settings,
+            //R.id.security_settings,
+           R.id.about_ecg
     }; 
@@ -136,6 +149,10 @@ public class Settings extends PreferenceActivity
     private boolean mListeningToAccountUpdates;
+    //add by zk
+    private AboutECGDialogFragment mAboutECGDialogFragment;
+    private ImageView aboutECGView;
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         if (getIntent().getBooleanExtra(EXTRA_CLEAR_UI_OPTIONS, false)) {
@@ -186,6 +203,9 @@ public class Settings extends PreferenceActivity
             getActionBar().setDisplayHomeAsUpEnabled(false);
             getActionBar().setHomeButtonEnabled(false);
         }
+
+       //add by zk
+       mAboutECGDialogFragment = new AboutECGDialogFragment();
     }
 
     @Override
@@ -440,7 +460,7 @@ public class Settings extends PreferenceActivity
 if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)) {
                     target.remove(i);
                 }
-            } else if (id == R.id.data_usage_settings) {
+            } else if (/*id == R.id.data_usage_settings*/false) {
                 // Remove data usage when kernel module not enabled
                 final INetworkManagementService netManager = INetworkManagementService.Stub
                         .asInterface(ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
@@ -451,10 +471,10 @@ public class Settings extends PreferenceActivity
                 } catch (RemoteException e) {
                     // ignored
                 }
-            } else if (id == R.id.account_settings) {
+            } else if (/*id == R.id.account_settings*/false) {
                 int headerIndex = i + 1;
                 i = insertAccountsHeaders(target, headerIndex);
-            } else if (id == R.id.user_settings) {
+            } else if (/*id == R.id.user_settings*/false) {
                 if (!UserHandle.MU_ENABLED
                         || !UserManager.supportsMultipleUsers()
                         || Utils.isMonkeyRunning()) {
@@ -747,14 +767,48 @@ public class Settings extends PreferenceActivity
         }
     }
 
+    //add by zk
+    class AboutECGDialogFragment extends DialogFragment{
+       @Override
+       public View onCreateView(LayoutInflater inflater, ViewGroup container,
+               Bundle savedInstanceState){
+           getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);
+           getDialog().setCanceledOnTouchOutside(true);
+           View view = inflater.inflate(R.layout.about_ecg_fragment, container);
+           aboutECGView = (ImageView)view.findViewById(R.id.about_ecg_png);
+           String aboutEcgImagePath = "/system/usr/ic_about_ecg.png";
+           try{
+               File aboutECGImage = new File(aboutEcgImagePath);
+               InputStream inStream = new FileInputStream(aboutECGImage);
+               Bitmap bm = BitmapFactory.decodeStream(inStream);
+               aboutECGView.setImageBitmap(bm);
+               try{
+                   inStream.close();
+               }catch(IOException e){
+                   e.printStackTrace();
+               }
+           }catch(FileNotFoundException e){
+               Log.d(LOG_TAG, "aboutECGImage doesn't exists,use default image");
+               aboutECGView.setImageResource(R.drawable.ic_about_ecg);
+               e.printStackTrace();
+           }
+           return view;        
+       }
+    };
+
     @Override
     public void onHeaderClick(Header header, int position) {
         boolean revert = false;
-        if (header.id == R.id.account_add) {
+        if (/*header.id == R.id.account_add*/false) {          //modify by wsy
             revert = true;
         }
-
-        super.onHeaderClick(header, position);
+       
+       //modify by wsy,点击“关于ECG”不进入fragement
+       if(header.id != R.id.about_ecg)
+               super.onHeaderClick(header, position);
+       else{
+               mAboutECGDialogFragment.show(getFragmentManager(), "AboutECGDialogFragment");   
+       }






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kevin@1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值