public final class NativeEnv
extends java.lang.Object
限定符和类型 | 类和说明 |
---|---|
static class |
NativeEnv.Action
引擎中使用的广播Action
|
static interface |
NativeEnv.AuthCallback
授权回调
|
static class |
NativeEnv.LogLevel
引擎内部日志输出的级别
|
static interface |
NativeEnv.NativeRuntimeExceptionHandler
Native平台引擎发生内部异常的捕获方法
|
class |
NativeEnv.NetworkStatus
当前网络类型
|
static interface |
NativeEnv.PackageInfoFilter
包信息的过滤接口,如果包安装了,会调用此接口交给客户端判断包是否满足其他的条件,比如版本兼容性等
作为 packageStatus(String, PackageInfoFilter) 的第二个参数 |
class |
NativeEnv.PackageServiceStatus
判断安装指定版本的的包的状态码,为
packageStatus(String, PackageInfoFilter) 方法和
serviceStatus(String, PackageInfoFilter, String, ServiceInfoFilter)
方法的返回值 |
class |
NativeEnv.PacketLocation
packet.dat文件的寻找路径,
|
static class |
NativeEnv.Permission
已过时。
|
static interface |
NativeEnv.RunInMainThread
用于在主线程中运行方法的接口,作为
runInMainThread(RunInMainThread, Object) 的参数 |
static interface |
NativeEnv.ServiceInfoFilter
服务信息过滤接口,如果包已经安装,且此包中存在此服务,那么会调用此接口对服务进一步过滤,判断服务是否符合
作为 serviceStatus(String, PackageInfoFilter, String, ServiceInfoFilter)
的参数 |
限定符和类型 | 字段和说明 |
---|---|
static java.lang.Object |
SyncObject |
构造器和说明 |
---|
NativeEnv() |
限定符和类型 | 方法和说明 |
---|---|
static java.lang.String |
checkLogFlag(byte[] id)
检测log机制是否打开,返回log设置信息。
|
static void |
checkPermisstion(java.lang.String permission)
检查权限,如果所需的权限没有在AndroidManifest.xml中声明,则抛出运行时异常SecurityException,请慎用
|
static void |
cleanup()
清理图吧引擎资源
此方法应该在退出程序时调用,以确保引擎使用的所有基础资源能正确被清理,通常放在主界面Activity的onDestroy方法中。 |
static void |
enableCatchUncaughtException(boolean enable)
是否捕获未被程序捕获的异常,捕获异常的行为是:在崩溃的时候会在
getRootDirectory()
下的crash文件夹中生成一个记录完整的调用栈信息的文件,文件后缀为".crash",文件以当前时间戳命名。 |
static void |
enableDumpMemoryUsage(boolean enable)
调试接口,用于输出当前的内存占用,每隔2秒输出一次
默认:不开启 |
static void |
enableNetworkLocation(boolean enable)
调试接口,设置是否开启网络定位,默认不开启
在 init(android.content.Context, com.mapbar.mapdal.NativeEnvParams) 后立即调用 |
static void |
enableSaveGpsLog(boolean enable)
保存gps的日志到appPath下,文件名格式为gps_log*.info
|
static void |
enableSdkAuth(boolean enable)
设置是否关闭授权功能,仅用于测试
|
static void |
enforceMainThread()
检查当前线程是否为主线程,若不是主线程,会抛出RuntimeException(
"The function should run in main thread, current thread id is " + id)
用来保护必须在主线程运行的函数 |
static java.lang.String |
getAppName()
获取应用程序名称
|
static android.content.Context |
getContext()
获取应用程序上下文,如果当前没有初始化过,那么获取的将是null,需要用户自行判空处理
|
static int |
getDataAuthMode()
调试模式下获取当前数据验证模块的工作模式
|
static int |
getDpi()
返回当前设备的DPI,这个值是由初始化(
init(Context, NativeEnvParams)
)时客户端传入的值 |
static int |
getGLVersion()
获取现在使用的GL ES的版本号
|
static java.lang.String |
getKey()
获取输入的激活码
|
static long |
getMainThreadId()
获取当前主线程ID,首先需要保证在主线程调用了
init(Context, NativeEnvParams)
,此方法主要用于调试,限制需要在主线程中使用的方法必须在主线程使用。 |
static int |
getNetworkStatus()
获取当前的网络状态
NativeEnv.NetworkStatus |
static int |
getNetworkStatus(android.content.Context context)
获取当前的网络状态
NativeEnv.NetworkStatus |
static java.lang.String |
getPrivateDataPath(java.lang.String packageName)
获取指定包名软件包的私有数据目录。
|
static java.lang.String |
getRootDirectory()
返回当前应用程序根目录
如果路径不存在,那么返回空字符串 |
static void |
init(android.content.Context context,
NativeEnvParams params)
图吧引擎初始化
包括引擎所使用的基础资源的初始化,应该在初始化其他模块之前调用此方法,通常在主界面Activity的onCreate方法中调用。 |
static boolean |
isApplicationRunning(android.content.Context context,
java.lang.String appName)
判断指定包名的应用是否已经在运行中
需要权限:android.permission.GET_TASKS |
static boolean |
isApplicationRunning(java.lang.String appName)
判断指定包名的应用是否已经在运行中
需要权限:android.permission.GET_TASKS |
static boolean |
isInited()
判断当前引擎基础环境是否初始化
|
static boolean |
isInRunMessageLoop() |
static boolean |
isInTimerPump()
判断当前是否正在运行主线程的timer
|
static boolean |
isSdkAuthEnabled()
当前授权功能是否可用,在非DEBUG模式下永远返回true
|
static boolean |
isServiceRunning(android.content.Context context,
java.lang.String serviceName)
判断服务是否正在运行中
|
static boolean |
isServiceRunning(java.lang.String serviceName)
判断指定的服务是否正在运行中
注意:此接口需要遍历所有运行中的服务,可能存在一定的效率损失 |
static java.lang.String |
loadDeviceSDCardIDs()
获取并返回本机的SD卡ID,若有多个SD卡则id间以","连接
注意:返回的结果已经被格式化为6-2-6格式。
|
static int |
packageStatus(java.lang.String packageName,
NativeEnv.PackageInfoFilter filter)
判断指定包名的软件包的状态
|
static void |
recreateGlContext() |
static void |
resizeScreen(int width,
int height) |
static int |
runInMainThread(NativeEnv.RunInMainThread run,
java.lang.Object userData)
在主线程中执行方法
注意:此方法会阻塞当前调用线程,直到需要运行的方法运行结束才会返回! |
static void |
saveDebugLog()
保存logcat中的日志到appPath下
|
static int |
serviceStatus(java.lang.String packageName,
NativeEnv.PackageInfoFilter packageFilter,
java.lang.String serviceName,
NativeEnv.ServiceInfoFilter serviceFilter)
检查指定的包中的服务状态
|
static void |
setDataAuthMode(int mode)
调试模式下设置数据验证模块的工作模式,内部调试使用接口,状态支持组合。
|
static void |
setGLVersion(int version)
设置GL ES的版本号,默认值为2.
|
static void |
setLogFilter(java.lang.String logFilter)
设置日志输出检索关键字
|
static void |
setLogLevel(int logLevel)
设置引擎内部日志输出的级别,输出大于等于设置级别的日志
默认为
NativeEnv.LogLevel.error 级别 |
static void |
test()
测试引擎移植层接口和本地代码
|
static void |
useNaviCoreNet(boolean useNaviCoreNet)
是否使用JNaviCore内部实现的联网功能
默认为不使用,即使用net包提供的联网功能 |
public static int getNetworkStatus()
NativeEnv.NetworkStatus
public static int getNetworkStatus(android.content.Context context)
NativeEnv.NetworkStatus
context
- 应用程序上下文public static void recreateGlContext()
public static void resizeScreen(int width, int height)
public static int runInMainThread(NativeEnv.RunInMainThread run, java.lang.Object userData)
run
- 需要在主线程中执行的对象userData
- 用户自定义数据,作为NativeEnv.RunInMainThread.onRun(Object)
的参数NativeEnv.RunInMainThread.onRun(Object)
的返回值public static void saveDebugLog()
public static void enableSaveGpsLog(boolean enable)
enable
- 为true时记录gps日志,false时不记录public static void init(android.content.Context context, NativeEnvParams params)
context
- 上下文信息params
- 初始化参数cleanup()
public static java.lang.String loadDeviceSDCardIDs()
public static void cleanup()
public static long getMainThreadId()
init(Context, NativeEnvParams)
,此方法主要用于调试,限制需要在主线程中使用的方法必须在主线程使用。Thread
的Thread.currentThread().getId()来的到当前线程的ID,之后与主线程对比,即可知道当前线程是否为主线程。public static void enforceMainThread()
JNaviCoreConfig.DEBUG
为true的时候可用 public static boolean isInited()
public static java.lang.String getKey()
public static void checkPermisstion(java.lang.String permission)
permission
- 权限声明,例如android.Manifest.permission.WRITE_EXTERNAL_STORAGEpublic static void enableCatchUncaughtException(boolean enable)
getRootDirectory()
下的crash文件夹中生成一个记录完整的调用栈信息的文件,文件后缀为".crash",文件以当前时间戳命名。默认为关闭enable
- 为true时捕获,false时不捕获@Internal public static void enableDumpMemoryUsage(boolean enable)
enable
- true为开启,false为关闭JNaviCoreConfig.DEBUG
为true的时候可用 @Internal public static void enableNetworkLocation(boolean enable)
init(android.content.Context, com.mapbar.mapdal.NativeEnvParams)
后立即调用enable
- 为true时开启网络定位JNaviCoreConfig.DEBUG
为true的时候可用 public static java.lang.String getRootDirectory()
public static java.lang.String getAppName()
public static int getDpi()
init(Context, NativeEnvParams)
)时客户端传入的值public static android.content.Context getContext()
@Internal public static java.lang.String checkLogFlag(byte[] id)
id
- 指定id@Internal public static void useNaviCoreNet(boolean useNaviCoreNet)
useNaviCoreNet
- 是否使用内部网络public static int packageStatus(java.lang.String packageName, NativeEnv.PackageInfoFilter filter)
packageName
- 软件报名称filter
- NativeEnv.PackageInfoFilter
接口实例,用于过滤包的其他信息是否兼容NativeEnv.PackageServiceStatus
public static int serviceStatus(java.lang.String packageName, NativeEnv.PackageInfoFilter packageFilter, java.lang.String serviceName, NativeEnv.ServiceInfoFilter serviceFilter)
packageName
- 包名称全称packageFilter
- 包兼容信息过滤器NativeEnv.PackageInfoFilter
,如果不关心包的其他信息是否符合,可以设置为nullserviceName
- 服务名称全称serviceFilter
- 服务兼容信息过滤器NativeEnv.ServiceInfoFilter
,如果不关心服务其他信息是否符合,可以设置为nullNativeEnv.PackageServiceStatus
public static java.lang.String getPrivateDataPath(java.lang.String packageName)
packageName
- 软件包名,可以为null,如果为null则获取当前软件包的私有数据路径public static boolean isServiceRunning(java.lang.String serviceName)
serviceName
- 需要查询的服务名称全称public static boolean isServiceRunning(android.content.Context context, java.lang.String serviceName)
context
- 应用程序上下文serviceName
- 服务名称,一般是ServiceClass.class.getName()public static boolean isApplicationRunning(java.lang.String appName)
appName
- 应用程序基础报名public static boolean isApplicationRunning(android.content.Context context, java.lang.String appName)
context
- 应用程序上下文appName
- 应用程序名称public static boolean isInTimerPump()
public static boolean isInRunMessageLoop()
@Internal public static void enableSdkAuth(boolean enable)
enable
- true标识开启,false标识关闭@Internal public static boolean isSdkAuthEnabled()
@Internal public static void setDataAuthMode(int mode)
@Internal public static int getDataAuthMode()
setDataAuthMode(int)
@Internal public static void test()
public static void setLogLevel(int logLevel)
NativeEnv.LogLevel.error
级别logLevel
- 引擎内部日志输出的级别,见 NativeEnv.LogLevel
public static void setLogFilter(java.lang.String logFilter)
logFilter
- 检索关键字public static void setGLVersion(int version)
version
- GL ES的版本public static int getGLVersion()
©Mapbar Engine Team;All Rights Reserved