2012-11-14 33 views
6

मैं एचटीएमएल का उपयोग करके अपने आईफोन ऐप में स्काइप एकीकरण का उपयोग करता हूं। जब मैं एक पृष्ठ लोड करता हूं तो यह दिखाएगा कि उपयोगकर्ता ऑनलाइन या ऑफलाइन होगा या नहीं। जब मैं ऑनलाइन बटन दबाता हूं तो मेरा ऐप बंद हो जाएगा और स्काइप खुलेगा। लेकिन, जब मैं ऑफलाइन बटन दबाता हूं तो यह वही चीज़ जैसा होगा .. मैंने उपयोगकर्ता के स्काइप ऑनलाइन स्थिति और स्काइप कॉलिंग के लिए वेबव्यू में स्काइप बटन डिज़ाइन करने के लिए निम्न कोड का उपयोग किया था।जब उपयोगकर्ता ऑफ़लाइन है, तो वेबव्यू में स्काइप कॉल बटन को कैसे अक्षम करें?

<a href="skype:arafa_futbal?call"> 
<img src="http://mystatus.skype.com/smallclassic/arafa_futbal" style="border: none;" 
width="114" height="20" alt="My status" /> 
</a> 

मेरा सवाल यह है कि उपयोगकर्ता ऑफ़लाइन होने पर मैं वेबदृश्य को कैसे अक्षम कर सकता हूं?

यानी, अगर मैं ऑफ़लाइन बटन दबाते हैं, यह कुछ भी नहीं करना चाहिए ..

उत्तर

0

इससे आपकी समस्या हल हो जाएगी। NSURLConnection में यूआरएल http://mystatus.skype.com/arafa_futbal.xml कॉल और xml डेटा प्राप्त करें और उसे पार्स उपयोगकर्ता स्काइप स्थिति पाने के लिए

NSURL *url = [NSURL URLWithString:@"http://mystatus.skype.com/arafa_futbal.xml"stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url]; 
[req addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; 
[req addValue:0 forHTTPHeaderField:@"Content-Length"]; 
[req setHTTPMethod:@"GET"]; 
conn = [[NSURLConnection alloc] initWithRequest:req delegate:self]; 
if (conn) { 
webData = [[NSMutableData data] retain]; 
} 

-(void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{ 
    [webData setLength:0]; 
} 
-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ 
    [webData appendData:data]; 
} 

-(void) connectionDidFinishLoading:(NSURLConnection *) connection { 
xmlParser = [[NSXMLParser alloc] initWithData:webData]; 
[xmlParser setDelegate:self]; 
[xmlParser setShouldResolveExternalEntities:YES]; 
[xmlParser parse]; 
} 
-(void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict 
{ 
} 

-(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string 
{ 
    if ([string isEqualToString:@"Offline"]) 
    { 
    webview.userinteractionEnabled = NO; 
    } 
    if ([string isEqualToString:@"Online"]) 
    { 
    webview.userinteractionEnabled = YES; 
    } 
} 
1

आप HTML पर नियंत्रण है? यदि ऐसा है, तो स्काइप लिंक बनाने या नहीं, यह तय करने के लिए http://mystatus.skype.com/arafa_futbal.xml का उपयोग करें।

एक चेतावनी: मुझे नहीं पता कि मेरे पास हमेशा "वेब पर मेरी ऑनलाइन स्थिति को दिखाने की अनुमति दें" अनचेक किया गया है, या यदि यह डिफ़ॉल्ट था, लेकिन यह मेरे लिए तब तक काम नहीं करता जब तक कि मैं चालू नहीं करता कि "गोपनीयता" सेटिंग्स के तहत।

यदि आपके पास HTML पर नियंत्रण नहीं है, तो ऐसा कुछ नहीं है जिसे मैं UIWebView के साथ कैसे करना चाहता हूं।