html5-plus
Version:
html5 plus typescript DefinitelyTyped (alpha...)
106 lines (93 loc) • 3.21 kB
TypeScript
/**
* Typescript 声明文件
* @author westsky
* @namespace nativejs
* @description
* Accelerometer模块管理设备加速度传感器,用于获取设备加速度信息,
* <p>包括x(屏幕水平方向)、y(垂直屏幕水平方向)、z(垂直屏幕平面方向)三个方向的加速度信息。
* 通过plus.accelerometer获取设备加速度传感器管理对象。
*/
declare namespace plus {
let os: OsSystem;
let android: Android;
let ios: Ios;
}
declare class ClassObject {
LOCATION_SERVICE: string | any;
GPS_PROVIDER: string | any;
authorizationStatus();
isProviderEnabled(name: string);
}
declare class InstanceObject {
getSystemService(name: string): ClassObject;
}
declare abstract class OsSystem {
/**
* 是否包含系统流
*/
stream: any;
name: string;
/**
* 导入Java类对象
* @param classname
*/
importClass(classname: string): ClassObject;
/**
* 创建实例对象
* @param classname 要创建实例对象的类名,使用"."分割命名空间如果指定的类名不存在,则创建对象失败,不会抛出异常。
* @param args 创建实例对象的构造参数, 如果指定的构造参数类型不区配,则创建对象失败,不会抛出异常。
*/
newObject(classname: string, args?: object): InstanceObject;
/**
* 调用对象(类对象/实例对象)的方法
* @param obj 调用方法所属的对象
* @param name
* @param args
*/
invoke(
obj: object | ClassObject | string,
name: string,
...args: object[]
): object | InstanceObject;
/**
* 实现Interface的方法
* @param name Interface的名称,也可以是自定的字符串名称
* @param obj SON对象类型,Interface实现方法的定义
*/
implements(name: string, obj: string | any): object | InstanceObject;
/**
* 获取当前Webview窗口对象的native层实例对象
*/
currentWebview(): InstanceObject;
}
declare class Android extends OsSystem {
/**
* 获取对象(类对象/实例对象)的属性值
*/
getAttribute(
obj: object | ClassObject | string,
name: string
): object | InstanceObject;
/**
* 设置对象(类对象/实例对象)的属性值
* @param obj 要设置属性值的对象,也可以是类的名称
如果obj为实例对象(InstanceObject),则设置的是实例的属性值; 如果obj为类对象(ClassObject),
则设置的是类的静态属性值;如果obj为字符串类型,其值必须是类的名称,则设置是类的静态属性值
* @param name 要设置的属性名称
* @param value 要设置的属性值
*/
setAttribute(obj: InstanceObject, name: string, value: object): void;
/**
* 获取应用主Activity实例对象
*/
runtimeMainActivity(): InstanceObject;
import(classname: string): ClassObject;
}
declare class Ios extends OsSystem {
/**
* 销毁实例对象
* @param obj
*/
deleteObject(obj: object): void;
import(classname: string): ClassObject;
}