兩個App之間傳值並跳轉

類似於支付寶需要支付時需要跳轉到支付頁面,兩個簡單的程序之間的跳轉並傳值。


例如:有兩個App分別爲A和B,由A跳轉至B,

首先,要想一個應用能被其它應用打開,必須設置一個唯一的URL Scheme,設置方法爲在Project的info裏的URL Types裏面設置,

注意URL Scheme最好全用小寫字母,因爲系統調用的時候傳過來的URL Scheme全部變爲小寫字母。

在A的程序裏,

- (IBAction)onBtnOpenClick:(id)sender {

    //liueaster爲要打開的應用的URL scheme,你好爲傳遞給該應用的參數

    NSString *strUrl = @"liueaster://你好";

    //因爲包括中文、空格等在內的很多字符不能出現在URL中,所以如果URL中必須包含這些信息則必須先進行轉碼,同樣接收方也必須進行反向替換

    NSString* encodedString = [strUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSLog(@"encodedString: %@", encodedString);

    NSURL *url= [NSURL URLWithString:encodedString];

    [[UIApplication sharedApplication] openURL:url];

}

在B中應用中必須在AppDelegate中寫,

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

{

    //處理鏈接

    NSString *text = [[url host] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];//

    //之後做一些自己需要的操作。。

    return YES;

}

以上,就可以實現最簡單的兩個頁面之間的傳值了。


發佈了26 篇原創文章 · 獲贊 2 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章