का सिस्टम समय सेट करना मैं वर्तमान में सॉफ्टवेयर में एंड्रॉइड सिस्टम समय सेट करने की कोशिश कर रहा हूं। हाँ, मुझे पता है कि कई लोगों ने कोशिश की - और अब मैं ऐसा करने में असफल रहा। :-)रूट फोन
लेकिन मुझे यह भी पता है कि रूट सिस्टम पर एंड्रॉइड सिस्टम समय सेट करना संभव है। मेरे पास क्लॉकसिंक नामक एक ऐप टेस्टेट है जो एक्साक्लिटी करता है।
तो मैं जो चाहता हूं वह पता लगाया गया है कि रूट डिवाइस पर सिस्टम समय कैसे सेट करें। कृपया यह न कहें कि यह संभव नहीं है। :-)
मैंने कोशिश की क्या अब तक निम्न अनुमतियों स्थापित कर रही है:
<uses-permission android:name="android.permission.SET_TIME_ZONE"/>
<uses-permission android:name="android.permission.SET_TIME"/>
और फिर मेरी कोड में:
AlarmManager a = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
long current_time_millies = System.currentTimeMillis();
try {
a.setTime((long)current_time_millies+10000);
} catch (Exception e) {
// Why is this exception thrown?
}
लेकिन मैं हमेशा निम्न अपवाद प्राप्त करें:
java.lang.SecurityException: setTime: न तो उपयोगकर्ता 10054 और न ही वर्तमान प्रक्रिया में android.permission.SET_TIME है।
मैं उसी डिवाइस पर परीक्षण कर रहा हूं जहां क्लॉकसिंक पूरी तरह से काम करता है। तो मैं क्या गलत हूं? या बेहतर: क्या आप परीक्षण कोड प्रदान कर सकते हैं जो काम करता है?
मैं/dev/अलार्म 666 के साथ सेट मिल गया है और setCurrentTimeMillis बोल रहा हूँ की तरह जड़ें डिवाइस पर प्रणाली का दिनांक और समय सेट कर सकते हैं, लेकिन यह हमेशा झूठे रिटर्न – TimothyP
@TimothyP यह भी हो सकता है KNOX (SELinux) के साथ नवीनतम सैमसंग फर्मवेयर पर सक्षम। इसे दूर करने का एकमात्र तरीका @ तारीख 'कमांड लाइन कॉल का उपयोग करना है जैसा कि @ करन द्वारा सुझाया गया है। 'date' कमांड मिलीसेकंड का समर्थन नहीं करता है, इसलिए मेरा सुझाव है कि आप परमाणु समय के आधार पर टाइमर का उपयोग करके दूसरी शुरुआत के साथ कमांड कॉल को संरेखित करें। – CrazyCoder
मैं देखता हूं, अभी मुझे एक क्यूबबोर्ड पर समस्या है, मैं इंजीनियरों से पूछूंगा कि क्या उन्होंने इसे अवरुद्ध करने के लिए कुछ किया है। इस बीच मैं आपके सुझाव का पालन करूंगा thnx – TimothyP