app之间的跳转和传参问题

app 之间跳转和传参;

首先 创建2个app   formApp (需要跳转到另外app的项目)     toApp(被跳转的项目)

一:在toApp 项目中的操作:

1:创建URLSchemes ,

(1).打开info.plist文件,

2. 在appdelegate.m 中

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
    /**
     如果使用URL 传参数
     */
    NSLog(@"----formApp_URL:%@",url);

    /**
     如果使用的是剪切板传参的话,
     */
    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
    NSString *content = pasteboard.string;
    NSLog(@"剪切板获取参数:%@",content);

    /**
     其他操作
     */

    return YES;
}

二:在formApp中的操作

1.检测 设备 是否安装了toApp 了,并跳转

/**
 跳转操作
 */
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    /**
     toApp Schemes://
     */
    NSString *toAppSchemes = @"willToAppURLSchemes://";

    /**
    检测设备 是否安装toApp
     */
    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:toAppSchemes]]) {

        NSLog(@"alearly install");

        /**
         跳转app
         */

        /**
         1:使用URL 传递参数
         */
        if ([self IOS10]) {

            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@?usrid=110",toAppSchemes]] options:@{} completionHandler:^(BOOL success) {
                /**
                  成功跳转后的操作
                 */
            }];
        }else{

            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@?usrid=110",toAppSchemes]]];
        }

//        /**
//         2:使用剪切板传递参数
//         */
//        [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:toAppSchemes]];
//        /**
//         系统剪切板 (在topApp中 接受到参数后,清空)
//         */
//        UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
//    pasteboard.string = @"user=120&orderid=123456";

    }else{

        NSLog(@"not install");
    }
}

/**
 判断 系统是否 大于10
 */
- (BOOL)IOS10
{
    return  ([[[UIDevice currentDevice] systemVersion] floatValue]) >= 10 ? YES : NO;
}

2:注意 在检测是否安装时,在xcode7 和iOS9 之后 需要设置白名单,

打开formApp info.plist文件,添加 LSApplicationQueriesSchemes

这样就可以成功检测到 是否安装toApp了,

3. 在传参数的方式 除了 URL,剪切板,还有钥匙串等,想知道更多的方式或详细的,可以搜索--> app之间的通信

时间: 2024-11-08 18:56:22

app之间的跳转和传参问题的相关文章

app之间的跳转以及传参数

两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的. 1.首先设置第一个APP的url地址 2.接着设置第二个APP的url地址 3.需要跳转的时候 NSString *urlString = [NSString stringWithFormat:@"AppJumpSecond://%@",textField.text]; [[UIApplication sharedApplication] open

h5页面与微信小程序之间的跳转、传参

h5跳小程序: <script src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script> 原帖链接: https://blog.csdn.net/mytljp/article/details/81902305 原文地址:https://www.cnblogs.com/chenmoumou/p/10538645.html

JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转、传参

JQuery 绑定select标签的onchange事件,弹出选择的值,并实现跳转.传参(selected的值和页面其它元素的值) 代码如下: <script src="jquery.min.js" type="text/javascript"></script> <script language="javascript" type="text/javascript"> $(document

iOS中两个APP之间的跳转和通信

app间的跳转 一:在第一个app首先要做下面这些操作: 1.在info.plist文件中的Information Property List下添加一项:URL types. 2.点开URL types下的item 0,再点开item 0,将item 0下的URL identifier改为URL Schemes. 3.点开URL Schemes下的item 0,在它后面添加skipOne(skipOne为第一个app的跳转标识,这里根据你自己写的来) 二:在第二个app中,在需要跳转到第一个ap

两个App之间的跳转 并传值

两个App之间的传值最主要的是方法是 Intent intent = getPackageManager().getLaunchIntentForPackage("com.example.app2");其他的传值用Intent完成就行 与activity之间的传值类似 (还可以自定义activity的权限) APP1: package com.example.app1; import android.content.Intent; import android.support.v7.a

app之间的跳转,进入二级界面

功能实现:A跳到B并打开B中指定页面.http://blog.csdn.net/dollyyang/article/details/50325307 点击页面判断是否安装app并打开,否则跳转app store的方法 步骤: 1.首先创建两个项目(项目A,项目B),在项目B中的info.plist文件中添加URL Types,如下图所示:其中URL idenifier是项目B的bundle id ,URL Schemes 中添加一个命令前缀,我这里使用“projectB”,这个名字可以自己取,运

三种方式获取小程序页面跳转并传参

方法一.可以将数据保存在app.js文件中,因为app.js的数据是全局可见的,但是如果所有全局变量都放到app.js中,会导致该文件很臃肿 方法二.通过官方文档可知在页面onLoad生命周期的参数中获取打开当前页面路径中的参数.那么可以通过 wx.navigateTo()传递参数,跳转到官方文档. 数据可以传递一个或多个,也可传递数组和json对象 注意:因为url的长度有限,对象太长,结果发现拼接在URL之后不完整,导致之后解析不出来,所以路由传参对象时要注意,传参的对象不能太长. eg:

JS完成页面跳转并传参的方法|附加:循环遍历对象

此方法只能传递较少参数 方法如下: <a href='page/index.html'>跳转</a> 以上是正常写法,如果要传参按一下写法: <!--参数写在?后面,多个参数用&隔开,下面传的参数为name=lemon,age=18--> <a href='page/index.html?name=lemon&age=18'></a> 当跳转到页面的时候这个页面的地址栏就会跟你写的那个一样,这时候你只需要获取地址栏的内容并进行采取

struts2 action跳转及传参

     环境:    配置了多个后缀,分别是:do.action.htm,如图所示:      redirectAction类型      跳转成功页面:      redirect类型      配置文件设置: 跳转成功页面:      redirect 和 dispatcher 传参      action间传参时,相应action均需要有相应属性,并都有getter和setter方法 传参配置: 传参成功页面: PS:注意字符串的 "" 参考链接:http://blog.kno