mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-16 03:31:45 +08:00
Add RequestPermission to become an Application activity callback like BackPress. (Patch 2/2)
This commit is contained in:
@ -162,6 +162,7 @@ export class AndroidApplication extends observable.Observable implements definit
|
|||||||
public static saveActivityStateEvent = "saveActivityState";
|
public static saveActivityStateEvent = "saveActivityState";
|
||||||
public static activityResultEvent = "activityResult";
|
public static activityResultEvent = "activityResult";
|
||||||
public static activityBackPressedEvent = "activityBackPressed";
|
public static activityBackPressedEvent = "activityBackPressed";
|
||||||
|
public static activityRequestPermissionsEvent = "activityRequestPermissions";
|
||||||
|
|
||||||
public paused: boolean;
|
public paused: boolean;
|
||||||
public nativeApp: android.app.Application;
|
public nativeApp: android.app.Application;
|
||||||
|
25
application/application.d.ts
vendored
25
application/application.d.ts
vendored
@ -278,6 +278,26 @@ declare module "application" {
|
|||||||
bundle: any /* android.os.Bundle */;
|
bundle: any /* android.os.Bundle */;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Data for the Android activity onRequestPermissions callback
|
||||||
|
*/
|
||||||
|
export interface AndroidActivityRequestPermissionsEventData extends AndroidActivityEventData {
|
||||||
|
/**
|
||||||
|
* The request code.
|
||||||
|
*/
|
||||||
|
requestCode: number,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Permissions
|
||||||
|
*/
|
||||||
|
permissions: Array<String>,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The Granted.
|
||||||
|
*/
|
||||||
|
grantResults: Array<Number>
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Data for the Android activity result event.
|
* Data for the Android activity result event.
|
||||||
*/
|
*/
|
||||||
@ -440,6 +460,11 @@ declare module "application" {
|
|||||||
*/
|
*/
|
||||||
on(event: "activityBackPressed", callback: (args: AndroidActivityBackPressedEventData) => void, thisArg?: any);
|
on(event: "activityBackPressed", callback: (args: AndroidActivityBackPressedEventData) => void, thisArg?: any);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This event is raised on the back button is pressed in an android application.
|
||||||
|
*/
|
||||||
|
on(event: "activityRequestPermissions", callback: (args: AndroidActivityBackPressedEventData) => void, thisArg?: any);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* String value used when hooking to activityCreated event.
|
* String value used when hooking to activityCreated event.
|
||||||
*/
|
*/
|
||||||
|
@ -803,6 +803,19 @@ class NativeScriptActivity extends android.app.Activity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public onRequestPermissionsResult (requestCode: number, permissions: Array<String>, grantResults: Array<number>): void {
|
||||||
|
trace.write("NativeScriptActivity.onRequestPermissionsResult;", trace.categories.NativeLifecycle);
|
||||||
|
|
||||||
|
application.android.notify(<application.AndroidActivityRequestPermissionsEventData>{
|
||||||
|
eventName: "activityRequestPermissions",
|
||||||
|
object: application.android,
|
||||||
|
activity: this,
|
||||||
|
requestCode: requestCode,
|
||||||
|
permissions: permissions,
|
||||||
|
grantResults: grantResults
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
protected onActivityResult(requestCode: number, resultCode: number, data: android.content.Intent): void {
|
protected onActivityResult(requestCode: number, resultCode: number, data: android.content.Intent): void {
|
||||||
super.onActivityResult(requestCode, resultCode, data);
|
super.onActivityResult(requestCode, resultCode, data);
|
||||||
trace.write(`NativeScriptActivity.onActivityResult(${requestCode}, ${resultCode}, ${data})`, trace.categories.NativeLifecycle);
|
trace.write(`NativeScriptActivity.onActivityResult(${requestCode}, ${resultCode}, ${data})`, trace.categories.NativeLifecycle);
|
||||||
|
Reference in New Issue
Block a user