को पुनरारंभ करने के बाद नया सत्र ऑब्जेक्ट प्राप्त करें, इसलिए मैं अपने विंडोज फोन 8 एप्लिकेशन को लाइव एपीआई में जोड़ने में सफल रहा हूं, मैं अपने हॉटमेल खाते से डेटा पढ़ने में भी सफल रहा हूं।विंडोज फोन लाइव एसडीके एपीआई - ऐप
मेरे पास आवश्यक क्लाइंट आईडी और लाइव एक्सेस टोकन तक पहुंच है।
लेकिन जब मैं अपना आवेदन छोड़ देता हूं और पुनरारंभ करता हूं, तो मैं सत्र और क्लाइंट ऑब्जेक्ट्स के सभी संदर्भ खो देता हूं और मुझे प्रक्रिया को फिर से शुरू करना होगा।
मैं उपयोगकर्ता को वेब मास्क के साथ परेशान नहीं करना चाहता हूं जिसमें उसे फिर से सहमत होना है कि वह हर बार आवेदन शुरू करने पर आवश्यक अनुमतियों के साथ मुझे प्रदान करता है। लेकिन मुझे इस चरण के बिना किसी सत्र ऑब्जेक्ट का संदर्भ प्राप्त करने का कोई तरीका नहीं मिला है।
लॉगिन मास्क केवल एप्लिकेशन इंस्टॉल करने के बाद पहली बार दिखाया गया है, उसके बाद, केवल ऊपर वर्णित स्क्रीन दिखाई गई है। लेकिन उपयोगकर्ता हर बार इसे स्वीकार करने के लिए अभी भी काफी परेशान है।
मैंने पहले ही सत्र ऑब्जेक्ट को क्रमबद्ध करने का प्रयास किया है, जो संभव नहीं है, क्योंकि कक्षा में मानक कन्स्ट्रक्टर नहीं है।
शायद लाइव एक्सेस टोकन का उपयोग करके एक नया सत्र बनाना संभव है, लेकिन मुझे ऐसा करने का कोई तरीका नहीं मिला है।
कोई विचार? मैं गलत क्या कर रहा हूं, मुझे पता है कि उपयोगकर्ता को संकेत दिए बिना फिर से लॉगिन करने का कोई तरीका है। मैं हर विचार के लिए आभारी हूं।
कुछ कोड मैं का उपयोग करें:
/// <summary>
/// This method is responsible for authenticating an user asyncronesly to Windows Live.
/// </summary>
public void InitAuth()
{
this.authClient.LoginCompleted +=
new EventHandler<LoginCompletedEventArgs>(this.AuthClientLoginCompleted);
this.authClient.LoginAsync(someScopes);
}
/// <summary>
/// This method is called when the Login process has been completed (successfully or with error).
/// </summary>
private void AuthClientLoginCompleted(object sender, LoginCompletedEventArgs e)
{
if (e.Status == LiveConnectSessionStatus.Connected)
{
LiveConnector.ConnectSession = e.Session; // where do I save this session for reuse?
this.connectClient = new LiveConnectClient(LiveConnector.ConnectSession);
// can I use this access token to create a new session later?
LiveConnector.LiveAccessToken = LiveConnector.ConnectSession.AccessToken;
Debug.WriteLine("Logged in.");
}
else if (e.Error != null)
{
Debug.WriteLine("Error signing in: " + e.Error.ToString());
}
}
मैं LiveAuthClient.InitializeAsync उपयोग करने के लिए कोशिश की है - आवेदन पुन: प्रारंभ करने की पृष्ठभूमि में प्रवेश करने की विधि है, लेकिन सत्र वस्तु खाली रहता है:
// this is called after application is restarted
private void ReLogin()
{
LiveAuthClient client = new LiveAuthClient(LiveConnector.ClientID);
client.InitializeCompleted += OnInitializeCompleted;
client.InitializeAsync(someScopes);
}
private void OnInitializeCompleted(object sender, LoginCompletedEventArgs e)
{
Debug.WriteLine("***************** Inititalisation completed **********");
Debug.WriteLine(e.Status); // is undefined
Debug.WriteLine(e.Session); // is empty
}
क्या किसी को पता है कि एप्लिकेशन को पुनरारंभ करने के बाद मैं नए सत्र तक कैसे पहुंच सकता हूं?
+1 इसके लिए, मुझे एक ही समस्या थी, धन्यवाद !! –