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