2012-01-24 13 views
17

एंड्रॉइड 3.0 की शुरूआत से पहले, फोन पर पंजीकृत पहला com.google खाता प्राथमिक खाता था, और एंड्रॉइड मार्केट द्वारा उपयोग किया जाने वाला एकमात्र खाता था।गैर-प्राथमिक खरीद खाता ईमेल पता कैसे प्राप्त करें

एंड्रॉइड 3.0 और ऊपर के उपकरणों पर मैं ग्राहक के ईमेल पते को प्राप्त करने के लिए इस (Account[0]) पर भरोसा नहीं कर सकता।

क्या बताने का कोई तरीका है खाता com.google खाता वर्तमान में खरीदारी कर रहा है?

(सभी मैं जरूरत खाता प्रकार com.google के लिए Account[] सरणी में सूचकांक है। एक बार मैं सम्बंधित सूचकांक है मैं ईमेल पता प्राप्त कर सकते हैं)

+0

आप इस समाधान हो गया? – Mikky

उत्तर

-2
import android.provider.ContactsContract; 

AccountManager am = AccountManager.get(this); 
Account[] accounts = am.getAccountsByType("com.google");   

//you can set current sync account.. 

boolean syncEnabled = ContentResolver.getSyncAutomatically(accounts[0], ContactsContract.AUTHORITY); 
1

मुझे डर है कि यह संभव नहीं है हूँ। जो मैंने पाया है, उससे ऐसा लगता है कि ऐप-ऐप-खरीद करने वाला खाता वह ऐप इंस्टॉल करने के लिए उपयोग किया जाता है, जिसे आप नहीं जानते हैं। मुझे लगता है कि इसे रूट स्टोर पर Play Store अनुप्रयोग डेटाबेस से पढ़ना संभव हो सकता है।

ऐसा लगता है कि Google Play Android Developer API का उपयोग करके खरीद के बाद खरीद खाते को खोजना भी संभव नहीं है, यह सुनिश्चित नहीं है कि ऐसा क्यों है।

यदि आप किसी भी मौके से इसे ढूंढते हैं, तो मुझे बताएं।

1

मैंने अभी एक त्वरित Google खोज की है और इस साइट पर here पर आया है।

डिवाइस पर सभी खाता नामों की सूची प्राप्त करने के लिए आप AccountManager.getAccounts या AccountManager.getAccountsByType का उपयोग कर सकते हैं। सौभाग्य से, कुछ खाता प्रकारों के लिए (com.google सहित), खाता नाम ईमेल पते हैं। उदाहरण नीचे स्निपेट।

Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+ Account[] accounts = AccountManager.get(context).getAccounts(); for (Account account : accounts) { 
    if (emailPattern.matcher(account.name).matches()) { 
     String possibleEmail = account.name; 
     ... 
    } } 

ध्यान दें कि यह GET_ACCOUNTS अनुमति की आवश्यकता है:

<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 

अधिक AccountManager के प्रयोग पर SDK में Contact Manager नमूना कोड में पाया जा सकता।

-1

firs नाम और अंतिम नाम >> जावा कोड?

ईमेल ऐड कोड

Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+ 
Account[] accounts = AccountManager.get(getApplicationContext()).getAccounts(); 
for (Account account : accounts) { 
    if (account.type.equals("com.google")) { 
     email = account.name.toString(); 
     break; 
    } else if (emailPattern.matcher(account.name).matches()) { 
     email = account.name.toString(); 
    } 
} 
+1

मैं और स्पष्टीकरण देने का सुझाव दूंगा। – peterh

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

  • कोई संबंधित समस्या नहीं^_^