Crate ndk_context
source · [−]Expand description
Provides a stable api to rust crates for interfacing with the android platform. It is initialized by the runtime, usually ndk-glue, but could also be initialized by java or kotlin code when embedding in an existing android project.
let ctx = ndk_context::android_context();
let vm = unsafe { jni::JavaVM::from_raw(ctx.vm().cast()) }?;
let env = vm.attach_current_thread();
let class_ctx = env.find_class("android/content/Context")?;
let audio_service = env.get_static_field(class_ctx, "AUDIO_SERVICE", "Ljava/lang/String;")?;
let audio_manager = env
.call_method(
ctx.context() as jni::sys::jobject,
"getSystemService",
"(Ljava/lang/String;)Ljava/lang/Object;",
&[audio_service],
)?
.l()?;Structs
AndroidContext provides the pointers required to interface with the jni on android
platforms.
Functions
Main entry point to this crate. Returns an AndroidContext.
Initializes the AndroidContext. AndroidContext is initialized by ndk-glue
before main is called.