2011-10-03 23 views
5

से जीमेल उपयोगकर्ता नाम और पासवर्ड प्राप्त करें मैं एंड्रॉइड के लिए जीमेल ग्राहक लिख रहा हूं। मैं एक सूची दृश्य में सभी जीमेल खातों को सूचीबद्ध करना चाहता हूं। जब उपयोगकर्ता एक आइटम पर क्लिक करता है, तो मैं चाहता हूं कि प्रोग्राम संबंधित खाते का पासवर्ड पुनर्प्राप्त कर सके।एंड्रॉइड खाता प्रबंधक

java.lang.SecurityException: caller uid 10107 is different than the authenticator's uid 

यह मेरा कोड है::

हालांकि, मैं एक SecurityException मिल

<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"></uses-permission> 
<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission> 
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"></uses-permission> 
<uses-permission android:name="android.permission.USE_CREDENTIALS"></uses-permission> 
<uses-permission android:name="android.permission.INTERNET"></uses-permission> 

Android reference के अनुसार:

AccountManager accountManager = AccountManager.get(context); 

this.username = account.name; 
this.password = accountManager.getPassword(account); //this is where I get the exception 

मैं AndroidManifest.xml में इन सभी अनुमतियाँ , केवल एकमात्र अनुमति MANAGE_ACCOUNTS होना चाहिए।

मेरे कोड की समस्या क्या है?

उत्तर

4

आप एक लेख प्राप्त कर सकते हैं, लेकिन आप उपयोगकर्ताओं को वास्तविक प्रमाण-पत्र प्राप्त नहीं कर सकते हैं। वास्तव में क्रेडिटियल केवल उस एप्लिकेशन द्वारा पहुंच योग्य होते हैं जिसने उन्हें बनाया है। getPassword विधि (जोर मेरा) के प्रलेखन से:

इस विधि फोन करने वाले अनुमति AUTHENTICATE_ACCOUNTS धारण करने के लिए और इस खाते के प्रमाणक रूप ही यूआईडी करने की आवश्यकता है।

+1

यह जानने के लिए अच्छा लगता है। मुझे लगता है कि मैं अभी और अधिक सुरक्षित हूं। धन्यवाद कुर्टिस। – b101101011011011

संबंधित मुद्दे