mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-16 11:42:04 +08:00
Merge pull request #1782 from NathanaelA/Permissions_TNSCore
Adds Android 6.0+ Permissions to NativeScript
This commit is contained in:
@ -162,6 +162,7 @@ export class AndroidApplication extends observable.Observable implements definit
|
||||
public static saveActivityStateEvent = "saveActivityState";
|
||||
public static activityResultEvent = "activityResult";
|
||||
public static activityBackPressedEvent = "activityBackPressed";
|
||||
public static activityRequestPermissionsEvent = "activityRequestPermissions";
|
||||
|
||||
public paused: boolean;
|
||||
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 */;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
@ -440,6 +460,11 @@ declare module "application" {
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
|
@ -804,6 +804,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 {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
trace.write(`NativeScriptActivity.onActivityResult(${requestCode}, ${resultCode}, ${data})`, trace.categories.NativeLifecycle);
|
||||
|
Reference in New Issue
Block a user