一、Android修改
1、文件AndroidManifest.xml
位置:packages\apps\Settings\AndroidManifest.xml
找到以下内容:
<!-- HDMI -->
<activity android:name="Settings$HdmiSettingsActivity"
android:label="@string/hdmi"
android:taskAffinity="">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.HdmiSettings" />
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
</activity>
<receiver android:name="HdmiReceiver">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.HDMI_PLUG"/>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
修改为以下内容:
<!-- HDMI -->
<activity android:name="Settings$HdmiSettingsActivity"
android:label="@string/hdmi"
android:icon="@drawable/ic_settings_hdmi"
android:taskAffinity="com.android.settings"
android:parentActivityName="Settings">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.VOICE_LAUNCH" />
<category android:name="com.android.settings.SHORTCUT" />
</intent-filter>
<intent-filter android:priority="8">
<action android:name="com.android.settings.action.SETTINGS" />
</intent-filter>
<meta-data android:name="com.android.settings.category"
android:value="com.android.settings.category.device" />
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.HdmiSettings" />
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
</activity>
<receiver android:name="HdmiReceiver">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.HDMI_PLUG"/>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
2、文件DisplaySettings.java
位置:packages\apps\Settings\src\com\android\settings\DisplaySettings.java
找到以下内容:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mProduct = SystemProperties.get("ro.target.product");
String supportHDMI = SystemProperties.get("ro.rk.hdmi_enable", "false");
final Activity activity = getActivity();
final ContentResolver resolver = activity.getContentResolver();
addPreferencesFromResource(R.xml.display_settings);
mHDMIPreference = findPreference(KEY_HDMI_SETTINGS);
if(!"tablet".equals(mProduct) || !"true".equals(supportHDMI)){
getPreferenceScreen().removePreference(mHDMIPreference);
}
修改为以下内容:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mProduct = SystemProperties.get("ro.target.product");
String supportHDMI = SystemProperties.get("ro.rk.hdmi_enable", "false");
final Activity activity = getActivity();
final ContentResolver resolver = activity.getContentResolver();
addPreferencesFromResource(R.xml.display_settings);
mHDMIPreference = findPreference(KEY_HDMI_SETTINGS);
if("tablet".equals(mProduct) || "true".equals(supportHDMI)){
getPreferenceScreen().removePreference(mHDMIPreference);
}
3、文件HdmiSettings.java
位置:packages\apps\Settings\src\com\android\settings\HdmiSettings.java
找到以下内容:
import android.hardware.display.DisplayManager;
import android.view.Display;
import android.view.IWindowManager;
import android.view.Surface;
import android.os.ServiceManager;
public class HdmiSettings extends SettingsPreferenceFragment
implements OnPreferenceChangeListener, SwitchBar.OnSwitchChangeListener, Preference.OnPreferenceClickListener {
/**
* Called when the activity is first created.
*/
private static final String TAG = "HdmiSettings";
private static final String KEY_HDMI_RESOLUTION = "hdmi_resolution";
private static final String KEY_HDMI_SCALE = "hdmi_screen_zoom";
private static final String KEY_HDMI_ROTATION="hdmi_rotation";
修改为以下内容:
import android.hardware.display.DisplayManager;
import android.view.Display;
public class HdmiSettings extends SettingsPreferenceFragment
implements OnPreferenceChangeListener, SwitchBar.OnSwitchChangeListener, Preference.OnPreferenceClickListener {
/**
* Called when the activity is first created.
*/
private static final String TAG = "HdmiSettings";
private static final String KEY_HDMI_RESOLUTION = "hdmi_resolution";
private static final String KEY_HDMI_SCALE = "hdmi_screen_zoom";
再找到以下内容:
private ListPreference mHdmiResolution;
private ListPreference mHdmiRotation;
private Preference mHdmiScale;
修改为以下内容:
private ListPreference mHdmiResolution;
private Preference mHdmiScale;
再找到以下内容:
private DisplayManager mDisplayManager;
private DisplayListener mDisplayListener;
private IWindowManager wm;
修改为以下内容:
private DisplayManager mDisplayManager;
private DisplayListener mDisplayListener;
再找到以下内容:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
IntentFilter filter = new IntentFilter("android.intent.action.HDMI_PLUGGED");
getContext().registerReceiver(HdmiListener, filter);
context = getActivity();
mDisplayManager = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE);
mDisplayListener = new DisplayListener();
mStrPlatform = SystemProperties.get("ro.board.platform");
mDisplayInfo = getDisplayInfo();
addPreferencesFromResource(R.xml.hdmi_settings_timeout);
mHdmiResolution = (ListPreference) findPreference(KEY_HDMI_RESOLUTION);
mHdmiResolution.setOnPreferenceChangeListener(this);
mHdmiResolution.setOnPreferenceClickListener(this);
if (mDisplayInfo != null) {
mHdmiResolution.setEntries(DrmDisplaySetting.getDisplayModes(mDisplayInfo).toArray(new String[0]));
mHdmiResolution.setEntryValues(DrmDisplaySetting.getDisplayModes(mDisplayInfo).toArray(new String[0]));
}
- 1
- 2
前往页