मैं इसके संभावित पता एक wakelock उपयोग करने के लिए स्क्रीन, सीपीयू ect पर पकड़ है, लेकिन मैं कैसे प्रोग्राम के रूप में "स्क्रीन टाइमआउट" को बदल सकते हैं एक Android फोन पर स्थापित कर लिया।एंड्रॉयड स्क्रीन टाइमआउट
9
A
उत्तर
11
Settings.System प्रदाता SCREEN_OFF_TIMEOUT सेटिंग प्रदान करता है जो आप जो खोज रहे हैं वह हो सकता है।
27
public class HelloWorld extends Activity
{
private static final int DELAY = 3000;
int defTimeOut = 0;
@Override
protected void onCreate(Bundle savedInstanceState)
{
// Be sure to call the super class.
super.onCreate(savedInstanceState);
// See assets/res/any/layout/hello_world.xml for this
// view layout definition, which is being set here as
// the content of our screen.
setContentView(R.layout.hello_world);
defTimeOut = Settings.System.getInt(getContentResolver(),
Settings.System.SCREEN_OFF_TIMEOUT, DELAY);
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, DELAY);
}
@Override
protected void onDestroy()
{
super.onDestroy();
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, defTimeOut);
}
}
और यह भी न प्रकट में इस अनुमति को जोड़ने के लिए भूल जाते हैं:
android:name="android.permission.WRITE_SETTINGS"
13
ऊपर सही है:
Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT, DELAY);
लेकिन यह भी प्रकट में अनुमति शामिल हैं:
android:name="android.permission.WRITE_SETTINGS"
1
यहां कोड-शीट है, आप मो कर सकते हैं कर रहे हैं।
long stand = Settings.System.getLong(
mContext.getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT,
-1);
long sec = stand/1000;
String time = null;
if(stand<0) {
//close.
}
else if(sec >= 60) {//to minute
time = String.format(mContext.getString(R.string.minutes), (sec/60) + "");
} else {
time = String.format(mContext.getString(R.string.seconds),sec + "");
}
धन्यवाद फिर से मार्क! – Tom
लेकिन यह एक स्थिर अधिकार है? – usman
@usman: नहीं, उपयोगकर्ता इसे सेटिंग्स के माध्यम से बदल सकते हैं। – CommonsWare