uni-app实现h5跳转app(ios和andiro)指定页面完整代码
时间: 2023-10-09 22:16:19 浏览: 274
要实现H5跳转到APP指定页面,需要在APP中配置对应的Scheme URL,并在H5中通过该URL来触发跳转。以下是一个示例代码:
```
// H5页面中的代码
function jumpToApp() {
var schemeUrl = "myapp://page?id=123"; // 这里的URL需要根据实际情况进行修改
window.location.href = schemeUrl;
}
// APP中的代码
// iOS
// 在Info.plist文件中添加以下代码
<key>LSApplicationQueriesSchemes</key>
<array>
<string>myapp</string> // 这里的myapp需要和H5中的schemeUrl保持一致
</array>
// 在AppDelegate.m中添加以下代码
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
NSString *scheme = [url scheme];
if ([scheme isEqualToString:@"myapp"]) {
NSString *host = [url host];
NSString *path = [url path];
// 根据host和path来判断跳转到哪个页面
...
return YES;
}
return NO;
}
// Android
// 在AndroidManifest.xml中添加以下代码
<activity
android:name=".MainActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="myapp"/> // 这里的myapp需要和H5中的schemeUrl保持一致
</intent-filter>
</activity>
// 在MainActivity中添加以下代码
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
String scheme = intent.getScheme();
if ("myapp".equals(scheme)) {
String host = intent.getData().getHost();
String path = intent.getData().getPath();
// 根据host和path来判断跳转到哪个页面
...
}
}
```
以上是一个基本的实现方式,具体的实现需要根据实际情况进行调整。
阅读全文