在SDK中開啟其他接入應用的解決方案

2021-08-26 09:55:38 字數 1965 閱讀 9089

在sdk中開啟其他接入應用的解決方案

使用的辦法如下:

nsstring *identifier = [[nsbundle mainbundle] objectforinfodictionarykey:@"cfbundleidentifier"];

其實就是類似下面的樣式。

這樣就只要open這個應用的自定義url,系統就可以幫我們找到並開啟這個程式。

更有甚者,我們可以通過canopenurl這個方法來判斷這台裝置是否安裝了這個應用,如果可以開啟,返回yes,那應該是有安裝這樣的程式,不管是ipa還是pxl的程式,應該都是沒有問題的。

如果我們真的選擇這樣子做,那就需要在文件中說明清楚。但是需要注意的是,也許作為程式設計師,可能不是很喜歡看文件,也許你費盡心思寫的文件他並沒有看到。這時我們應該來一點強硬的手段,於是有了下面這段**的功能。

2:有沒有準確配置info的cfbundleurlschemes欄位

3:是不是可以正確開啟。

// this is really a warning for the developer, this should not

uialertview *alertview = [[uialertview alloc]

initwithtitle:@"setup error"

delegate:self

cancelbuttontitle:@"ok"

otherbuttontitles:nil,

nil];

[alertview show];

[alertview release];

} else {

bool bschemeinplist = no; // find out if the sceme is in the plist file.

nsarray* abundleurltypes = [[nsbundle mainbundle] objectforinfodictionarykey:@"cfbundleurltypes"];

if ([abundleurltypes iskindofclass:[nsarray class]] &&

([abundleurltypes count] > 0)) {

nsdictionary* abundleurltypes0 = [abundleurltypes objectatindex:0];

if ([abundleurltypes0 iskindofclass:[nsdictionary class]]) {

nsarray* abundleurlschemes = [abundleurltypes0 objectforkey:@"cfbundleurlschemes"];

if ([abundleurlschemes iskindofclass:[nsarray class]] &&

([abundleurlschemes count] > 0)) {

nsstring *scheme = [abundleurlschemes objectatindex:0];

if ([scheme iskindofclass:[nsstring class]] &&

[url hasprefix:scheme]) {

bschemeinplist = yes;

// check if the authorization callback will work

if (!bschemeinplist || !bcanopenurl) {

uialertview *alertview = [[uialertview alloc]

initwithtitle:@"setup error"

delegate:self

cancelbuttontitle:@"ok"

otherbuttontitles:nil,

nil];

[alertview show];

[alertview release];

在SDK中開啟其他接入應用的解決方案

在sdk中開啟其他接入應用的解決方案 使用的辦法如下 nsstring identifier nsbundle mainbundle objectforinfodictionarykey cfbundleidentifier ibaction openmaps ibaction openemail ...

Android中開啟其他應用程式的元件

背景 有時候我們需要在自己的應用中去開啟其他應用程式的activity或者service 下面是通過兩種方式開啟 為什麼是兩種方式呢?我們本來可以直接開啟其他應用程式的,為什麼要在轉個彎通過廣播去開啟,答案很簡單,因為專案所需,哈哈 一 通過廣播開啟其他應用程式 開啟其他應用程式的activity ...

在應用程式中啟動其他程式的方法

1 uint winexec lpcstr lpcmdline,uint ucmdshow eg if winexec cdplayer.exe sw maximize 31 afxmessagebox 執行cd eg winexec winmine.exe sw shownormal winexe...