/**
- 监听应用启动
-
通过广播接收器监听目标应用的启动事件
*/
const receiveBroadcastOfAppInstall: {
broadcastReceiver?: any;
(targetPname: string): Promise<void>
} = (targetPname) => {
const main = plus.android.runtimeMainActivity()
if (receiveBroadcastOfAppInstall.broadcastReceiver) {
// @ts-ignore
main.unregisterReceiver(receiveBroadcastOfAppInstall.broadcastReceiver)
receiveBroadcastOfAppInstall.broadcastReceiver = null
}const Intent = plus.android.importClass('android.content.Intent')
const IntentFilter = plus.android.importClass('android.content.IntentFilter')
const Uri = plus.android.importClass('android.net.Uri')
// @ts-ignore
const filter = new IntentFilter()
// @ts-ignore
filter.addAction(Intent.ACTION_PACKAGE_ADDED)
// @ts-ignore
filter.addAction(Intent.ACTION_PACKAGE_REPLACED)
filter.addDataScheme('package')
return new Promise((resolve) => {
const broadcastReceiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {
onReceive: (context: any, intent: any) => {
const action = intent.getAction()
const data = intent.getData()
if (
// @ts-ignore
(action === Intent.ACTION_PACKAGE_ADDED || action === Intent.ACTION_PACKAGE_REPLACED)
0 个评论
要回复文章请先登录或注册