Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
Hello UTS
提交
af83de43
H
Hello UTS
项目概览
DCloud
/
Hello UTS
通知
1628
Star
28
Fork
9
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
2
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
Hello UTS
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
2
Issue
2
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
af83de43
编写于
5月 15, 2024
作者:
杜庆泉
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev' of gitcode.net:dcloud/hello-uts into dev
上级
eef491bf
45dcf2b7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
206 addition
and
0 deletion
+206
-0
pages/SyntaxCase/utsAndroid.uvue
pages/SyntaxCase/utsAndroid.uvue
+65
-0
uni_modules/uts-syntaxcase/utssdk/app-android/index.uts
uni_modules/uts-syntaxcase/utssdk/app-android/index.uts
+141
-0
未找到文件。
pages/SyntaxCase/utsAndroid.uvue
浏览文件 @
af83de43
...
...
@@ -44,6 +44,22 @@
</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">
点击注册activity 回调方法后,可以手动切换其他APP再返回,可在控制台和界面观察事件日志
</view>
</view>
<view class="uni-padding-wrap uni-common-mt">
<view class="text-box" scroll-y="true">
<text>{{ cbText }}</text>
</view>
</view>
<button @tap="unRegActivityCallback">取消注册activity 回调方法</button>
<!-- #endif -->
</view>
<!-- #ifdef APP -->
</scroll-view>
...
...
@@ -71,6 +87,18 @@ import {
privacyStateTest,
privacyStateCallBackTest
} from '@/uni_modules/uts-platform-api'
// #ifdef APP-ANDROID
import {
UTSAcvitiyLifeCycleCallback,
UTSAcvitiyKeyEventCallback,
UTSActivityWindowCallback,
UTSActivityCallback,
UTSActivityComponentCallback,
onCallbackChange
} from '@/uni_modules/uts-syntaxcase/utssdk/app-android/index.uts'
// #endif
import File from 'java.io.File';
import Intent from 'android.content.Intent';
...
...
@@ -81,9 +109,17 @@ export default {
data() {
return {
text: '',
cbText:'',
selectImage: '',
callbackIds: [] as string[]
}
},
unmounted() {
// #ifdef APP-ANDROID
this.unRegActivityCallback()
// #endif
},
onLoad: function () {
let that = this
initAppLifecycle(function (eventLog) {
...
...
@@ -275,6 +311,35 @@ export default {
}
})
},
// #ifdef APP-ANDROID
activityCallback(){
var that = this
onCallbackChange(function (eventLog:string) {
// 展示捕捉到的声明周期日志
let nextLine = that.cbText + eventLog
that.cbText = nextLine
let nextLineFlag = that.cbText + '\n'
that.cbText = nextLineFlag
})
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())
this.callbackIds.push(reg1)
this.callbackIds.push(reg2)
this.callbackIds.push(reg3)
this.callbackIds.push(reg4)
this.callbackIds.push(reg5)
},
unRegActivityCallback(){
this.callbackIds.forEach((value)=>{
console.log(value)
UTSAndroid.unRegisterActivityCallback(value)
})
}
// #endif
},
}
<!-- #endif -->
...
...
uni_modules/uts-syntaxcase/utssdk/app-android/index.uts
0 → 100644
浏览文件 @
af83de43
import KeyEvent from 'android.view.KeyEvent';
import Configuration from 'android.content.res.Configuration';
import Bundle from 'android.os.Bundle';
import Menu from 'android.view.Menu';
import KeyboardShortcutGroup from 'android.view.KeyboardShortcutGroup';
import WindowManager from 'android.view.WindowManager';
import ActionMode from 'android.view.ActionMode';
// export let onCallBackChange: (event: string) => void = (res) => {};
let callback : (eventLog : string) => void= (res) => {};
export function onCallbackChange(fn : (eventLog : string) => void) {
callback = fn
}
export class UTSAcvitiyLifeCycleCallback extends UniActivityLifeCycleCallback {
constructor() {
super()
}
override onCreate(params : UniActivityParams, savedInstanceState : Bundle | null) {
console.log('UTSAcvitiyLifeCycle', 'onCreate', savedInstanceState)
callback('onCreate')
}
override onResume(params : UniActivityParams) {
console.log('UTSAcvitiyLifeCycle', 'onResume', params)
callback('onResume')
}
override onPreResume(params : UniActivityParams) {
console.log('UTSAcvitiyLifeCycle', 'onPreResume', params)
callback('onPreResume')
}
override onStart(params : UniActivityParams) {
console.log('UTSAcvitiyLifeCycle', 'onStart', params)
callback('onStart')
}
override onPreStart(params : UniActivityParams) {
console.log('UTSAcvitiyLifeCycle', 'onPreStart', params)
callback('onPreStart')
}
}
export class UTSAcvitiyKeyEventCallback extends UniActivityKeyEventCallback {
constructor() {
super()
}
override onKeyDown(params : UniActivityParams, keyCode : Int, event : KeyEvent | null) {
console.log('UTSAcvitiyKeyEvent', 'onKeyDown', params, keyCode, '' + event)
callback('onKeyDown')
}
override onPreKeyDown(params : UniActivityParams, keyCode : Int, event : KeyEvent | null) {
console.log('UTSAcvitiyKeyEvent', 'onPreKeyDown', params, keyCode, '' + event)
callback('onPreKeyDown')
}
override onKeyLongPress(params : UniActivityParams, keyCode : Int, event : KeyEvent | null) {
console.log('UTSAcvitiyKeyEvent', 'onKeyLongPress', params, keyCode, '' + event)
callback('onKeyLongPress')
}
override onPreKeyLongPress(params : UniActivityParams, keyCode : Int, event : KeyEvent | null) {
console.log('UTSAcvitiyKeyEvent', 'onPreKeyLongPress', params, keyCode, '' + event)
callback('onPreKeyLongPress')
}
}
export class UTSActivityWindowCallback extends UniActivityWindowCallback {
constructor() {
super()
}
override dispatchPreKeyEvent(params : UniActivityParams, event : KeyEvent | null) {
console.log('UTSActivityWindowCallback', 'dispatchPreKeyEvent', params, '' + event)
callback('dispatchPreKeyEvent')
}
override dispatchKeyEvent(params : UniActivityParams, event : KeyEvent | null) {
console.log('UTSActivityWindowCallback', 'dispatchKeyEvent', params, '' + event)
callback('dispatchKeyEvent')
}
override onWindowAttributesChanged(params : UniActivityParams, attrs : WindowManager.LayoutParams) {
console.log('UTSActivityWindowCallback', 'onWindowAttributesChanged', '' + attrs)
callback('onWindowAttributesChanged')
}
override onAttachedToWindow(params : UniActivityParams) {
console.log('UTSActivityWindowCallback', 'onAttachedToWindow', params)
callback('onAttachedToWindow')
}
override onPanelClosed(params : UniActivityParams, featureId : Int, menu : Menu) {
console.log('UTSActivityWindowCallback', 'onPanelClosed', featureId, menu)
callback('onPanelClosed')
}
override onWindowStartingActionMode(params : UniActivityParams, callback : ActionMode.Callback | null) {
console.log('UTSActivityWindowCallback', 'onWindowStartingActionMode', callback)
callback('onWindowStartingActionMode')
}
override onProvideKeyboardShortcuts(params : UniActivityParams, data : MutableList<KeyboardShortcutGroup> | null, menu : Menu | null, deviceId : Int) {
console.log('UTSActivityWindowCallback', 'onProvideKeyboardShortcuts', data, menu)
callback('onProvideKeyboardShortcuts')
}
override onPreWindowAttributesChanged(params : UniActivityParams, attrs : WindowManager.LayoutParams) {
console.log('UTSActivityWindowCallback', 'onPreWindowAttributesChanged', attrs)
callback('onPreWindowAttributesChanged')
}
override onPrePanelClosed(params : UniActivityParams, featureId : Int, menu : Menu) {
console.log('UTSActivityWindowCallback', 'onPrePanelClosed', featureId, menu)
callback('onPrePanelClosed')
}
}
export class UTSActivityCallback extends UniActivityCallback {
constructor() {
super()
}
override onBackPressed(params : UniActivityParams) {
console.log('UTSActivityCallback', 'onBackPressed', params)
callback('onBackPressed')
}
override onPreBackPressed(params : UniActivityParams) {
console.log('UTSActivityCallback', 'onPreBackPressed', params)
callback('onPreBackPressed')
}
override onRequestPermissionsResult(params : UniActivityParams, requestCode : Int, permissions : MutableList<String>, grantResults : IntArray) {
console.log('UTSActivityCallback', 'onRequestPermissionsResult', params)
callback('onRequestPermissionsResult')
}
}
export class UTSActivityComponentCallback extends UniActivityComponentCallback {
constructor() {
super()
}
override onConfigurationChanged(params : UniActivityParams, newConfig : Configuration) {
console.log('UTSActivityComponentCallback', 'onConfigurationChanged', params, '' + newConfig)
callback('onConfigurationChanged')
}
override onPreConfigurationChanged(params : UniActivityParams, newConfig : Configuration) {
console.log('UTSActivityComponentCallback', 'onPreConfigurationChanged', params, '' + newConfig)
callback('onPreConfigurationChanged')
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录