android 6.0设置添加永不休眠

1.修改设置应用的代码 Settings/res/values/arrays.xml 添加 最后一行

<string-array name="screen_timeout_entries">
        <item>15 seconds</item>
        <item>30 seconds</item>
        <item>1 minute</item>
        <item>2 minutes</item>
        <item>5 minutes</item>
        <item>10 minutes</item>
        <item>30 minutes</item>
        <item>never</item>
    </string-array>

    <!-- Do not translate. -->
    <string-array name="screen_timeout_values" translatable="false">
        <!-- Do not translate. -->
        <item>15000</item>
        <!-- Do not translate. -->
        <item>30000</item>
        <!-- Do not translate. -->
        <item>60000</item>
        <!-- Do not translate. -->
        <item>120000</item>
        <!-- Do not translate. -->
        <item>300000</item>
        <!-- Do not translate. -->
        <item>600000</item>
        <!-- Do not translate. -->
        <item>1800000</item>
        <!--Interger.MAX-->
        <item>2147483647</item>
    </string-array>

<item>2147483647</item>网上说的改成-1,编译会报错

2.res/values-zh-rCN/arrays.xml 中 添加 最后一行

  <string-array name="screen_timeout_entries">
    <item msgid="3342301044271143016">"15秒"</item>
    <item msgid="8881760709354815449">"30秒"</item>
    <item msgid="7589406073232279088">"1分钟"</item>
    <item msgid="7001195990902244174">"2分钟"</item>
    <item msgid="7489864775127957179">"5分钟"</item>
    <item msgid="2314124409517439288">"10分钟"</item>
    <item msgid="6864027152847611413">"30分钟"</item>
    <item msgid="6864027152847611413">"永不"</item>  
  </string-array>



3.在DisplaySettings 的方法:updateTimeoutPreferenceDescription此方法用来修改显示的值

  private void updateTimeoutPreferenceDescription(long currentTimeout) {
    Log.i(TAG,"updateTimeoutPreferenceDescription:"+String.valueOf(currentTimeout));

        ListPreference preference = mScreenTimeoutPreference;
        String summary="";
       if (currentTimeout < 0) {
    //if (currentTimeout < -1) {
            // Unsupported value
            summary = "";
        } else {
            final CharSequence[] entries = preference.getEntries();
            final CharSequence[] values = preference.getEntryValues();
            if (entries == null || entries.length == 0) {
                summary = "";
            } else {
                int best = 0;
                for (int i = 0; i < values.length; i++) {
                    long timeout = Long.parseLong(values[i].toString());
                    if (currentTimeout >= timeout) {
                        best = i;
                    }
                }
         summary = preference.getContext().getString(R.string.screen_timeout_summary,
                        entries[best]);
       
          //add add
      if( currentTimeout==java.lang.Integer.MAX_VALUE){
        summary = entries[best].toString();
          }
      
            }
        }
        preference.setSummary(summary);
    }

猜你喜欢

转载自blog.csdn.net/lwz622/article/details/107978392