完成DeepLink
This commit is contained in:
parent
443f3edcc0
commit
d018147931
|
@ -24,6 +24,13 @@
|
||||||
<action android:name="android.intent.action.MAIN"/>
|
<action android:name="android.intent.action.MAIN"/>
|
||||||
<category android:name="android.intent.category.LAUNCHER"/>
|
<category android:name="android.intent.category.LAUNCHER"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
|
||||||
|
<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="newsgetx" />
|
||||||
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<!-- Don't delete the meta-data below.
|
<!-- Don't delete the meta-data below.
|
||||||
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
|
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/// Api地址
|
/// Api地址
|
||||||
// const String ServerApiUrl = "http://172.31.163.87:4523/m1/2998542-0-default";
|
const String ServerApiUrl = "http://172.31.163.87:4523/m1/2998542-0-default";
|
||||||
const String ServerApiUrl = "http://192.168.1.5:4523/m1/2998542-0-default";
|
// const String ServerApiUrl = "http://192.168.1.5:4523/m1/2998542-0-default";
|
||||||
|
|
||||||
const CryptoSalt = "E1pWsyfiy@R@X#qn17!StJNdZK1fFF8iV6ffN!goZkqt#JxO";
|
const CryptoSalt = "E1pWsyfiy@R@X#qn17!StJNdZK1fFF8iV6ffN!goZkqt#JxO";
|
|
@ -1,9 +1,12 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:news_getx/theme/app_colors.dart';
|
import 'package:news_getx/theme/app_colors.dart';
|
||||||
import 'package:news_getx/utils/iconfont.dart';
|
import 'package:news_getx/utils/iconfont.dart';
|
||||||
|
import 'package:uni_links/uni_links.dart';
|
||||||
|
|
||||||
class ApplicationController extends GetxController {
|
class ApplicationController extends GetxController {
|
||||||
/// 响应式成员变量
|
/// 响应式成员变量
|
||||||
|
@ -44,12 +47,55 @@ class ApplicationController extends GetxController {
|
||||||
bool isInitialUriIsHandled = false;
|
bool isInitialUriIsHandled = false;
|
||||||
StreamSubscription? uriSub;
|
StreamSubscription? uriSub;
|
||||||
|
|
||||||
|
// 第一次打开
|
||||||
|
Future<void> handleInitialUri() async {
|
||||||
|
if (!isInitialUriIsHandled) {
|
||||||
|
isInitialUriIsHandled = true;
|
||||||
|
|
||||||
|
try {
|
||||||
|
final uri = await getInitialUri();
|
||||||
|
if (uri == null) {
|
||||||
|
print('no initial uri');
|
||||||
|
} else {
|
||||||
|
// 这里获取了 scheme 请求
|
||||||
|
print('got initial uri: $uri');
|
||||||
|
}
|
||||||
|
} on PlatformException {
|
||||||
|
print('falied to get initial uri');
|
||||||
|
} on FormatException catch (err) {
|
||||||
|
print('malformed initial uri, $err');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 程序打开时介入
|
||||||
|
handleIncomingLinks() {
|
||||||
|
if (!kIsWeb) {
|
||||||
|
uriSub = uriLinkStream.listen((Uri? uri) {
|
||||||
|
// 这里获取了 scheme 请求
|
||||||
|
print('got uri: $uri');
|
||||||
|
|
||||||
|
// if (uri!.pathSegments[1].toLowerCase() == 'category') {
|
||||||
|
if (uri != null && uri.path == '/notify/category') {
|
||||||
|
print('跳转到Category页');
|
||||||
|
handleNavBarTap(1);
|
||||||
|
}
|
||||||
|
}, onError: (err) {
|
||||||
|
print('got err: $err');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// 生命周期
|
/// 生命周期
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onInit() {
|
void onInit() {
|
||||||
super.onInit();
|
super.onInit();
|
||||||
|
|
||||||
|
// deek link处理
|
||||||
|
// handleInitialUri();
|
||||||
|
// handleIncomingLinks();
|
||||||
|
|
||||||
// 准备静态数据 作为tab
|
// 准备静态数据 作为tab
|
||||||
tabTitles = ['Welcome', 'Category', 'Bookmarks', 'Account'];
|
tabTitles = ['Welcome', 'Category', 'Bookmarks', 'Account'];
|
||||||
bottomTabs = <BottomNavigationBarItem>[
|
bottomTabs = <BottomNavigationBarItem>[
|
||||||
|
|
24
pubspec.lock
24
pubspec.lock
|
@ -602,6 +602,30 @@ packages:
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.2"
|
version: "1.3.2"
|
||||||
|
uni_links:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: uni_links
|
||||||
|
sha256: "051098acfc9e26a9fde03b487bef5d3d228ca8f67693480c6f33fd4fbb8e2b6e"
|
||||||
|
url: "https://pub.flutter-io.cn"
|
||||||
|
source: hosted
|
||||||
|
version: "0.5.1"
|
||||||
|
uni_links_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: uni_links_platform_interface
|
||||||
|
sha256: "929cf1a71b59e3b7c2d8a2605a9cf7e0b125b13bc858e55083d88c62722d4507"
|
||||||
|
url: "https://pub.flutter-io.cn"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.0"
|
||||||
|
uni_links_web:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: uni_links_web
|
||||||
|
sha256: "7539db908e25f67de2438e33cc1020b30ab94e66720b5677ba6763b25f6394df"
|
||||||
|
url: "https://pub.flutter-io.cn"
|
||||||
|
source: hosted
|
||||||
|
version: "0.1.0"
|
||||||
universal_io:
|
universal_io:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -95,7 +95,7 @@ dependencies:
|
||||||
webview_flutter: ^4.2.2
|
webview_flutter: ^4.2.2
|
||||||
|
|
||||||
# 通过 scheme 打开APP 获取 参数
|
# 通过 scheme 打开APP 获取 参数
|
||||||
# uni_links: ^0.5.1
|
uni_links: ^0.5.1
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|
Loading…
Reference in New Issue