/***************************************************************** * Copyright (c) 2013 by CDAC Chennai * @File UserIdentification * @Created: 30.04.2014 * @author: Prasenjit * Last Change: 05.05.2014 by Prasenjit ******************************************************************/ package com.contextawareframework.querymodule; import java.util.regex.Pattern; import android.accounts.Account; import android.accounts.AccountManager; import android.content.Context; import android.telephony.TelephonyManager; import android.util.Log; import android.util.Patterns; public class UserIdentification { // Private variables private static String userEmailId = null; private static String mDeviceId = null; //private static Context mContext; // To get the context from Application layer to library /*public static void getContextFromMain(Context context) { mContext = context; }*/ // Setters and Getters public static String getUserEmailId(Context mContext) { return setUserEmailId(mContext); } // User has to mention permission as required to get access to this. Applicable above API : 9 private static String setUserEmailId(Context mContext) { Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+ Account[] accounts = AccountManager.get(mContext).getAccounts(); for (Account account : accounts) { if (emailPattern.matcher(account.name).matches()) { userEmailId = account.name; Log.d("Email",userEmailId); } } return userEmailId; } public static String getmDeviceId(Context mContext) { return setmDeviceId(mContext); } private static String setmDeviceId(Context mContext) { mDeviceId = ((TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE)).getDeviceId(); if (mDeviceId != null) { return mDeviceId; } else { return android.os.Build.SERIAL; } } }