में वरीयताओं को सेट करें, मैं अपनी कोड वरीयताओं में पढ़ना चाहता हूं जिसे मैंने प्रमाणीकरणकर्ता xml फ़ाइल के माध्यम से सेट किया है। मुझे Can't access preferences set in account-authenticator in Android और How can access preferences set in account-authenticator in Android एक पूरी तरह से अनुत्तरित नहीं मिला और दूसरा कहता है कि मुझे अपनी गतिविधि बनाने की आवश्यकता है। यह वास्तव में अजीब लगता है क्योंकि इसका मतलब यह होगा कि प्राथमिकताएं मैं xml के माध्यम से कॉन्फ़िगर कर सकते हैं बेकार हैं क्योंकि मैं उन्हें फिर से नहीं पढ़ सकता। वह नही हो सकता है। क्या कोई इसके बारे में और जानता है? अगर मुझे वास्तव में अपनी गतिविधि बनाना है, तो मैं प्रमाणीकरणकर्ता के मामले में यह कैसे करूँगा?एंड्रॉइड: प्रामाणिकता xml
उत्तर
प्रलेखन से AbstractAccountAuthenticator के लिए:
वरीयताओं एक PreferenceScreen एक्सएमएल पदानुक्रम कि PreferenceScreens कि को लागू किया जा सकता है प्रमाणक का प्रबंधन की एक सूची है करने के लिए अंक जोड़कर देखते हैं। एक उदाहरण है:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="@string/title_fmt"/>
<PreferenceScreen
android:key="key1"
android:title="@string/key1_action"
android:summary="@string/key1_summary">
<intent
android:action="key1.ACTION"
android:targetPackage="key1.package"
android:targetClass="key1.class"/>
</PreferenceScreen>
</PreferenceScreen>
तो ऐसा लगता है तो मान सुलभ नहीं हैं कि भले ही यह account_preferences.xml
में अलग-अलग वरीयताओं को डाल करने के लिए संभव है इसे किया जा करने का इरादा नहीं है।
this देखें और वरीयता स्क्रीन उद्देश्य को कैसे सेट अप और प्रबंधित करने के बारे में विवरण के लिए उत्तर दें।
संपादित
एक बहुत ही बुनियादी काम कर उदाहरण के लिए, आप के रूप में निम्नानुसार Sync Adapter Training Docs और संपादित से नमूना एप्लिकेशन को डाउनलोड कर सकते हैं।
res/xml/account_preferences.xml
बनाएं ऐसा दिखता है जैसे इस
<?xml version="1.0" encoding="UTF-8" ?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Category"/>
<PreferenceScreen
android:key="key1"
android:title="@string/app_name"
android:summary="@string/account_name">
<intent
android:targetPackage="com.example.android.network.sync.basicsyncadapter"
android:targetClass="com.example.android.network.sync.basicsyncadapter.EntryListActivity"/>
</PreferenceScreen>
</PreferenceScreen>
authenticator.xml
में account-authenticator
टैग करने के लिए android:accountPreferences="@xml/account_preferences"
जोड़ें।
यह उदाहरण उदाहरण में एक मौजूदा गतिविधि शुरू करता है, लेकिन आसानी से वरीयता सक्रियता (या आप चाहते हैं कि कोई अन्य गतिविधि) शुरू कर सकते हैं। वरीयता सक्रियता को सेट अप करने के बारे में विवरण के लिए Settings मार्गदर्शिका देखें।
कोर एंड्रॉइड ऐप से वास्तविक दुनिया के उदाहरण के लिए, ईमेल ऐप here के कार्यान्वयन को देखें।
- 1. एंड्रॉइड - xml
- 2. एंड्रॉइड: xml
- 3. एंड्रॉइड: xml
- 4. एंड्रॉइड: XML
- 5. मैं प्रामाणिकता टोकन कैसे जोड़ूं?
- 6. रेल 3 प्रामाणिकता टोकन
- 7. रैंडम अमान्य प्रामाणिकता डीबगिंग
- 8. रेल - अमान्य प्रामाणिकता टोकन
- 9. एंड्रॉइड: कस्टम xml
- 10. जावा/एंड्रॉइड xml
- 11. एंड्रॉइड ड्रायबल xml
- 12. एंड्रॉइड पर XML लिखना
- 13. एंड्रॉइड: xml-element
- 14. एंड्रॉइड: अपने xml
- 15. bitbucket - मेजबान के 'bitbucket.org' प्रामाणिकता
- 16. रेल - 'अवैध प्रामाणिकता टोकन' अपवाद
- 17. स्टेटेलिस्ट ड्रायबल एंड्रॉइड: state_enabled xml
- 18. एंड्रॉइड 9 पैच ड्रायबल xml
- 19. रेल सीएसआरएफ टोकन प्रामाणिकता और देवता
- 20. रेल 3 AJAX अनुरोध प्रामाणिकता टोकन अनदेखा
- 21. रेल पर रूबी अमान्य प्रामाणिकता आईई
- 22. xml सरणी संसाधनों का उपयोग कर एंड्रॉइड
- 23. xml संपादक
- 24. xml
- 25. xml
- 26. XML
- 27. xml
- 28. XML
- 29. xml
- 30. xml
यह किया जा सकता है लेकिन यह पहले से ही अजीब लगता है। एक और साबित करना है कि यदि आप विभिन्न खातों में देखते हैं, उदा। Google खाता, जीएमएक्स-मेल खाता, और अन्य - अगर Google खाता गिनती नहीं है तो बस। वे सभी इन सेटिंग्स का उपयोग करें। इरादा प्रमाणीकरण में काम नहीं करता है, यह आपके द्वारा दिए गए लिंक में सामान्य ऐप्स में काम करता है। एक प्रामाणिक में यह काम नहीं करता है। जैसे ही इरादा टैग होता है वरीयता दिखाई नहीं देती है। क्या आपने कभी एक सामान्य ऐप में प्रमाणीकरणकर्ता और _not_ में काम करने के लिए इसे प्राप्त किया था? – AndyAndroid
मैंने अपना उत्तर अपडेट किया है कि आपको एंड्रॉइड नमूना ऐप्स में से एक को संपादित करने का तरीका दिखाया गया है ताकि यह खाता स्क्रीन से एक गतिविधि शुरू कर सके। मैंने कोर एंड्रॉइड ईमेल एप्लिकेशन के लिए एक लिंक भी शामिल किया है जो एक समान कार्यान्वयन दिखाता है। – mpkuth
यदि कोई बेहतर उत्तर नहीं आ रहा है तो मैं आपको बक्षीस दूंगा, लेकिन आपका उत्तर 100% सही नहीं है। लेकिन यह मुझे इस मुद्दे के आसपास काम करने के लिए एक रास्ता तय करता है। शायद यह एक डिवाइस/एपीआई स्तर विशिष्ट समस्या है। मैं davdroid के कोड में अच्छी तरह से देखा। उस मुद्दे पर चलने वाले अन्य लोगों के लिए: 1. निर्यात करने की कोशिश करें = अपनी प्रीफ़ गतिविधि को सही करें, कुछ दावा करते हैं कि यह आवश्यक है, davdroid के लिए ऐसा प्रतीत नहीं होता है। 2. एक बग (?) है कि आप अपने इरादे में एक कार्रवाई कर रहे हैं। 3. मेरे लिए, फिर से davdroid काम करता प्रतीत होता है, मुझे इरादे लक्ष्य पैकेज और लक्ष्य क्लास, केवल कार्रवाई में हटाना पड़ा। – AndyAndroid