應用程序互相跳轉

1 . 應用場景

1) 使用第三方用戶登錄,需要用戶授權,還需要"返回到調用的程序,同時返回授權的用戶名"

2) 應用程序推廣,網易彩票,設置-推薦應用-有很多應用程序圖標
-如果本機已經安裝過,會直接跳轉到另外一個應用程序
-軟件的廣告,推廣結果,后續會有一些金錢上的結算

  1. 支付寶,第三方支付,淘寶,電話費充值。。。

2 . 要打開本機上的其他應用程序,需要設置schemes,自定義的協議頭,可以打開其他的應用程序

跳轉的代碼如下:

- (IBAction)openWangyi:(id)sender
{
    // 跳轉到其他應用程序
    // schemes: 網易的scheme wangyi
    NSURL *url = [NSURL URLWithString:@"wangyi://view?newsid=201410130001"];
    
    // 判斷本機是否安裝了目標程序
    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        [[UIApplication sharedApplication] openURL:url];
    } else {
        NSLog(@"沒有安裝,可以再給定下載地址,前往");
    }
}

3 . 新浪微博的授權界面說明:

1> 在新浪微博中,本身不能直接跳轉到該界面
2> 用其他應用程序打開時,如果scheme時weibo://oaauth,直接進入此界面
3> 如果直接點擊,返回,返回調用應用程序
4> 如果點擊表格行中的用戶名,直接返回用戶信息給調用應用程序

4 . 如果要返回調用的應用程序,需要知道調用我們的應用程序的scheme

/** 只要是由其他應用程序打開的,就會調用此方法 */
/** URL 就是其他應用程序,打開當前程序使用的URL */
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url

/**
 openURL 是打開當前應用程序的url
 sourceApplication 是當開當前應用程序的源程序的BundleId
 
 提示:一旦重寫了新方法,舊方法就不再被執行
 但是:很多第三方框架,都建議兩個方法全都寫
 */
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. 應用場景 1) 使用第三方用戶登錄,需要用戶授權,還需要"返回到調用的程序,同時返回授權的用戶名" 2) 應...
    光明程輝閱讀 982評論 0 1
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,836評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,811評論 25 708
  • 應用間相互跳轉簡介 在iOS開發的過程中,我們經常會遇到需要從一個應用程序A跳轉到另一個應用程序B的場景。這就需要...
    優雅地小男子閱讀 985評論 0 0
  • 沒什么事可以一步登天,讀書也好,寫字也好。出人頭地也好。 最近在練毛筆字,然而還停在臨摹的水平,當然也只敢說練習毛...
    樹皮醬閱讀 253評論 1 1