mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-14 10:01:08 +08:00
fix(android): targetSdk 34 registerBroadcastReceiver (#10585)
This commit is contained in:
@ -2,6 +2,7 @@ import { profile } from '../profiling';
|
|||||||
import { View } from '../ui/core/view';
|
import { View } from '../ui/core/view';
|
||||||
import { isEmbedded } from '../ui/embedding';
|
import { isEmbedded } from '../ui/embedding';
|
||||||
import { AndroidActivityCallbacks, NavigationEntry } from '../ui/frame/frame-common';
|
import { AndroidActivityCallbacks, NavigationEntry } from '../ui/frame/frame-common';
|
||||||
|
import { SDK_VERSION } from '../utils/constants';
|
||||||
import type { AndroidApplication as IAndroidApplication } from './application';
|
import type { AndroidApplication as IAndroidApplication } from './application';
|
||||||
import { ApplicationCommon } from './application-common';
|
import { ApplicationCommon } from './application-common';
|
||||||
import type { AndroidActivityBundleEventData, AndroidActivityEventData, ApplicationEventData } from './application-interfaces';
|
import type { AndroidActivityBundleEventData, AndroidActivityEventData, ApplicationEventData } from './application-interfaces';
|
||||||
@ -442,10 +443,18 @@ export class AndroidApplication extends ApplicationCommon implements IAndroidApp
|
|||||||
return this._packageName;
|
return this._packageName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public registerBroadcastReceiver(intentFilter: string, onReceiveCallback: (context: android.content.Context, intent: android.content.Intent) => void): void {
|
// Possible flags are:
|
||||||
|
// RECEIVER_EXPORTED (2)
|
||||||
|
// RECEIVER_NOT_EXPORTED (4)
|
||||||
|
// RECEIVER_VISIBLE_TO_INSTANT_APPS (1)
|
||||||
|
public registerBroadcastReceiver(intentFilter: string, onReceiveCallback: (context: android.content.Context, intent: android.content.Intent) => void, flags = 2): void {
|
||||||
const registerFunc = (context: android.content.Context) => {
|
const registerFunc = (context: android.content.Context) => {
|
||||||
const receiver: android.content.BroadcastReceiver = new (initBroadcastReceiver())(onReceiveCallback);
|
const receiver: android.content.BroadcastReceiver = new (initBroadcastReceiver())(onReceiveCallback);
|
||||||
context.registerReceiver(receiver, new android.content.IntentFilter(intentFilter));
|
if (SDK_VERSION >= 26) {
|
||||||
|
context.registerReceiver(receiver, new android.content.IntentFilter(intentFilter), flags);
|
||||||
|
} else {
|
||||||
|
context.registerReceiver(receiver, new android.content.IntentFilter(intentFilter));
|
||||||
|
}
|
||||||
this._registeredReceivers[intentFilter] = receiver;
|
this._registeredReceivers[intentFilter] = receiver;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user