6

HTML を使用して、iPhone アプリで Skype 統合を使用しています。ページを読み込むと、ユーザーがオンラインかオフラインかが表示されます。オンライン ボタンを押すと、アプリが閉じられ、Skype が開きます。しかし、オフラインボタンを押すと、上記と同じことが起こります..次のコードを使用して、webview でスカイプボタンを設計し、ユーザーのスカイプオンラインステータスを表示し、スカイプ通話を行いました。

<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>

私の質問は、ユーザーがオフラインのときに WebView を無効にするにはどうすればよいですか?

つまり、OFFLINE ボタンを押しても、何もしないはずです..

4

2 に答える 2

1

HTML を制御できますか? http://mystatus.skype.com/arafa_futbal.xmlその場合は、Skype リンクを作成するかどうかを決定するために使用します。

1 つの注意: 「自分のオンライン ステータスを Web に表示することを許可する」を常にオフにしていたのか、それがデフォルトだったのかはわかりませんが、 "プライバシー設定。

HTML を制御できない場合は、UIWebView を使用する方法を私は知りません。

于 2012-11-14T09:14:02.210 に答える
0

これで問題は解決します。nsurlconnection でURL http://mystatus.skype.com/arafa_futbal.xmlを呼び出し、xml データを取得して解析し、ユーザーの Skype ステータスを取得します。

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;
   }
 }
于 2012-11-14T13:57:58.767 に答える