提交 60420c7d 编写于 作者: 杜庆泉's avatar 杜庆泉

Merge branch 'dev' of gitcode.net:dcloud/hello-uts into dev

## 1.0.13
* update 4.17.2024051110-alpha
## 1.0.12
* update 4.16.2024051009-alpha
## 1.0.11
* update 4.14.2024042905-alpha
## 1.0.10
* update 4.13.2024042321-alpha
## 1.0.9
* update 4.12.2024041009-alpha
## 1.0.8
* update 4.06.2024032403-alpha
## 1.0.7
* update 4.05.2024032021-alpha
## 1.0.6
* update 4.04.2024031519-alpha
## 1.0.5
* update 4.03.2024031101-alpha
## 1.0.4
* update 4.02.2024030621-alpha
## 1.0.3
* update 4.01.2024020211-alpha
## 1.0.2
* update 4.0.2024012711-alpha
## 1.0.1(2023-12-19)
更多详情查看:[https://gitcode.net/dcloud/hello-uts/-/commits/alpha](https://gitcode.net/dcloud/hello-uts/-/commits/alpha)
{
"id": "hello-uts-alpha",
"name": "hello-uts-alpha",
"displayName": "hello-uts-alpha",
"version": "1.0.13",
"description": "UTS插件示例项目",
"repository": "https://gitcode.net/dcloud/hello-uts",
"keywords": [
"uts",
"示例工程"
],
"author": "",
"license": "MIT",
"dependencies": {},
"engines": {
"HBuilderX": "^3.99"
},
"dcloudext": {
"sale": {
"regular": {
"price": "0.00"
},
"sourcecode": {
"price": "0.00"
}
},
"contact": {
"qq": ""
},
"declaration": {
"ads": "无",
"data": "不采集任何数据",
"permissions": "- android.permission.INTERNET \n- android.permission.READ_EXTERNAL_STORAGE \n- android.permission.WRITE_EXTERNAL_STORAGE \n- android.permission.ACCESS_FINE_LOCATION \n- android.permission.ACCESS_COARSE_LOCATION \n- android.permission.ACCESS_NETWORK_STATE \n- android.permission.READ_MEDIA_IMAGES \n- android.permission.READ_MEDIA_VIDEO"
},
"npmurl": "",
"type": "uniapp-template-project"
},
"uni_modules": {
"dependencies": [],
"encrypt": [],
"platforms": {
"cloud": {
"tcb": "y",
"aliyun": "y"
},
"client": {
"App": {
"app-vue": "y",
"app-nvue": "n",
"app-uvue": "n"
},
"H5-mobile": {
"Safari": "n",
"Android Browser": "n",
"微信浏览器(Android)": "n",
"QQ浏览器(Android)": "n"
},
"H5-pc": {
"Chrome": "n",
"IE": "n",
"Edge": "n",
"Firefox": "n",
"Safari": "n"
},
"小程序": {
"微信": "n",
"阿里": "n",
"百度": "n",
"字节跳动": "n",
"QQ": "n",
"京东": "n",
"钉钉": "n",
"快手": "n",
"飞书": "n"
},
"快应用": {
"华为": "n",
"联盟": "n"
},
"Vue": {
"vue2": "y",
"vue3": "y"
}
}
}
}
}
\ No newline at end of file
<template>
<!-- #ifdef APP-ANDROID -->
<!-- #ifdef APP -->
<scroll-view style="flex: 1">
<!-- #endif -->
<view>
<view class="uni-padding-wrap uni-common-mt">
<view class="uni-hello-text"> 逐一点击执行,观察测试反馈 </view>
......@@ -19,7 +17,6 @@
<button @click="pathTestClick">路径转换测试</button>
<button @click="privacyStateClick">隐私协议状态测试</button>
<button @click="privacyStateCallBackClick">隐私协议回调测试</button>
<button @click="privacyStateCallBackClick">隐私协议回调测试</button>
<view class="uni-padding-wrap uni-common-mt">
<view class="uni-hello-text">
1. 当前页面已通过initAppLifecycle函数注册了生命周期监听。
......@@ -44,7 +41,7 @@
</view>
<button @tap="getDeviceInfoClick">获取设备基础信息</button>
<button @tap="getFileProviderUriClick">使用外部应用访问私有文件</button>
<!-- #ifdef APP-ANDROID -->
<button @tap="activityCallback">注册activity 回调方法</button>
<view class="uni-padding-wrap uni-common-mt">
<view class="uni-hello-text">
......@@ -57,19 +54,13 @@
</view>
</view>
<button @tap="unRegActivityCallback">取消注册activity 回调方法</button>
<!-- #endif -->
</view>
<!-- #ifdef APP -->
</scroll-view>
<!-- #endif -->
<!-- #endif -->
</template>
<script>
<!-- #ifdef APP-ANDROID -->
import {
import {
getAppContextTest,
getUniActivityTest,
getJavaClassTest,
......@@ -84,36 +75,33 @@ import {
initAppLifecycle,
gotoCameraTake,
getDeviceInfoTest,
privacyStateTest,
privacyStateCallBackTest
} from '@/uni_modules/uts-platform-api'
// #ifdef APP-ANDROID
import {
privacyStateTest
} from '@/uni_modules/uts-platform-api'
// #ifdef APP-ANDROID
import {
UTSAcvitiyLifeCycleCallback,
UTSAcvitiyKeyEventCallback,
UTSActivityWindowCallback,
UTSActivityCallback,
UTSActivityComponentCallback,
onCallbackChange,
registerCallbacks,
unRegisterCallbacks
} from '@/uni_modules/uts-syntaxcase'
// #endif
onCallbackChange
} from '@/uni_modules/uts-syntaxcase'
// #endif
import File from 'java.io.File';
import Intent from 'android.content.Intent';
import File from 'java.io.File';
import Intent from 'android.content.Intent';
/**
/**
* 测试在页面生命周期之外,使用api
*/
export default {
export default {
data() {
return {
text: '',
cbText:'',
cbText: '',
selectImage: '',
callbackIds: [] as string[]
callback: [] as Any[]
}
},
unmounted() {
......@@ -148,18 +136,31 @@ export default {
})
},
privacyStateCallBackClick() {
privacyStateCallBackTest(function(ret, desc) {
if (ret) {
let isAgree : boolean = true
const cb = (ret : PrivacyOption) => {
console.log('privacyStateCallBackTest->' + ret.isAgree)
if (ret.isAgree == isAgree) {
uni.showToast({
title: '测试通过'
})
} else {
uni.showToast({
icon: 'none',
title: '失败:' + desc
title: '失败'
})
}
})
}
// 先重置用户同意状态
UTSAndroid.onPrivacyAgreeChange(cb)
UTSAndroid.setPrivacyAgree(isAgree)
UTSAndroid.offPrivacyAgreeChange(cb)
setTimeout(function () {
console.log('privacyStateCallBackTest->false')
UTSAndroid.setPrivacyAgree(false)
}, 5000);
},
getDeviceInfoClick() {
this.text = getDeviceInfoTest()
......@@ -235,7 +236,7 @@ export default {
getFileProviderUriClick() {
let file = new File(UTSAndroid.getResourcePath("static/logo.png"))
const uri = UTSAndroid.getFileProviderUri(file)
console.log("uri",uri.toString())
console.log("uri", uri.toString())
const intent = new Intent(Intent.ACTION_VIEW, uri)
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) // 添加权限标志
const context = UTSAndroid.getUniActivity()!;
......@@ -314,29 +315,72 @@ export default {
})
},
// #ifdef APP-ANDROID
activityCallback(){
// #ifdef UNI-APP-X
activityCallback() {
var that = this
onCallbackChange(function (eventLog:string) {
onCallbackChange(function (eventLog : string) {
// 展示捕捉到的声明周期日志
let nextLine = that.cbText + eventLog
that.cbText = nextLine
let nextLineFlag = that.cbText + '\n'
that.cbText = nextLineFlag
})
registerCallbacks()
let index = getCurrentPages().length - 1
let page = getCurrentPages()[index]
console.log('page route=' + page.route)
this.callback.push(new UTSAcvitiyLifeCycleCallback())
this.callback.push(new UTSActivityWindowCallback())
this.callback.push(new UTSAcvitiyKeyEventCallback())
this.callback.push(new UTSActivityCallback(), page.route)
this.callback.push(new UTSActivityComponentCallback())
this.callback.forEach((value) => {
if (value instanceof UTSAcvitiyLifeCycleCallback) {
UTSAndroid.onActivityCallback(value,page.route)
}
if (value instanceof UTSActivityWindowCallback) {
UTSAndroid.onActivityCallback(value)
}
if (value instanceof UTSAcvitiyKeyEventCallback) {
UTSAndroid.onActivityCallback(value)
}
if (value instanceof UTSActivityCallback) {
UTSAndroid.onActivityCallback(value)
}
if (value instanceof UTSActivityComponentCallback) {
UTSAndroid.onActivityCallback(value)
}
})
},
unRegActivityCallback(){
unRegisterCallbacks()
unRegActivityCallback() {
this.callback.forEach((value) => {
if (value instanceof UTSAcvitiyLifeCycleCallback) {
UTSAndroid.offActivityCallback(value)
}
if (value instanceof UTSActivityWindowCallback) {
UTSAndroid.offActivityCallback(value)
}
if (value instanceof UTSAcvitiyKeyEventCallback) {
UTSAndroid.offActivityCallback(value)
}
if (value instanceof UTSActivityCallback) {
UTSAndroid.offActivityCallback(value)
}
if (value instanceof UTSActivityComponentCallback) {
UTSAndroid.offActivityCallback(value)
}
})
}
// #endif
// #endif
},
}
<!-- #endif -->
}
</script>
<style>
.testButton {
.testButton {
width: 100%;
}
}
</style>
\ No newline at end of file
......@@ -22,11 +22,11 @@ import AlertDialog from 'android.app.AlertDialog';
import DialogInterface from 'android.content.DialogInterface';
import EditText from 'android.widget.EditText';
import array from 'android.R.array';
import File from 'java.io.File';
/**
* 定时任务参数封装
*/
......
import { UIImageView , UIImage , UIScreen } from 'UIKit';
import { DispatchQueue } from 'Dispatch';
import { UTSiOS } from "DCloudUTSFoundation";
export function addViewToDecorView() { }
......
......@@ -227,6 +227,7 @@
}
}
</script>
<style>
/* 定义默认样式值, 组件使用者没有配置时使用 */
.defaultStyles {
......
......@@ -83,18 +83,23 @@ export function privacyStateTest(callback : (ret : boolean, desc : string) => vo
export function privacyStateCallBackTest(callback : (ret : boolean, desc : string) => void) {
let isAgree : boolean = true
const cb = (ret : boolean) => {
console.log('privacyStateCallBackTest->' + ret)
if (ret == isAgree) {
const cb = (ret : PrivacyOption) => {
console.log('privacyStateCallBackTest->' + ret.isAgree)
if (ret.isAgree == isAgree) {
callback(true, "pass")
} else {
callback(false, "callback error")
}
}
// 先重置用户同意状态
const callBackId=UTSAndroid.registerPrivacyAgreeListener(cb)
UTSAndroid.onPrivacyAgreeChange(cb)
UTSAndroid.setPrivacyAgree(isAgree)
UTSAndroid.unRegisterPrivacyAgreeListener(callBackId)
UTSAndroid.offPrivacyAgreeChange(cb)
setTimeout(function () {
console.log('privacyStateCallBackTest->false')
UTSAndroid.setPrivacyAgree(false)
}, 5000);
}
/**
......
......@@ -178,32 +178,10 @@ import ActionMode from 'android.view.ActionMode';
// export let onCallBackChange: (event: string) => void = (res) => {};
let callback : (eventLog : string) => void = (res) => { };
let callbackIds : string[] = [];
export function onCallbackChange(fn : (eventLog : string) => void) {
callback = fn
}
export function registerCallbacks() {
let reg1 = UTSAndroid.registerActivityCallback(new UTSAcvitiyLifeCycleCallback())
let reg2 = UTSAndroid.registerActivityCallback(new UTSActivityWindowCallback())
let reg3 = UTSAndroid.registerActivityCallback(new UTSAcvitiyKeyEventCallback())
let reg4 = UTSAndroid.registerActivityCallback(new UTSActivityCallback())
let reg5 = UTSAndroid.registerActivityCallback(new UTSActivityComponentCallback())
callbackIds.push(reg1)
callbackIds.push(reg2)
callbackIds.push(reg3)
callbackIds.push(reg4)
callbackIds.push(reg5)
}
export function unRegisterCallbacks() {
callbackIds.forEach((value) => {
console.log(value)
UTSAndroid.unRegisterActivityCallback(value)
})
}
export class UTSAcvitiyLifeCycleCallback extends UniActivityLifeCycleCallback {
constructor() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册