mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-02-07 06:12:56 -05:00
2.4 KiB
2.4 KiB
Meshtastic Android API
This module contains the stable AIDL interface and dependencies required to integrate with the Meshtastic Android app.
Integration
To communicate with the Meshtastic Android service from your own application, we recommend using JitPack.
Add the JitPack repository to your root build.gradle.kts (or settings.gradle.kts):
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add the dependencies to your module's build.gradle.kts:
dependencies {
// Replace 'v2.7.12' with the specific version you need
val meshtasticVersion = "v2.7.12"
// The core AIDL interface
implementation("com.github.meshtastic.Meshtastic-Android:core-api:$meshtasticVersion")
// Data models (DataPacket, MeshUser, NodeInfo, etc.)
implementation("com.github.meshtastic.Meshtastic-Android:core-model:$meshtasticVersion")
// Protobuf definitions (Portnums, Telemetry, etc.)
implementation("com.github.meshtastic.Meshtastic-Android:core-proto:$meshtasticVersion")
}
Usage
-
Bind to the Service: Use the
IMeshServiceinterface to bind to the Meshtastic service.val intent = Intent("com.geeksville.mesh.Service") intent.setClassName("com.geeksville.mesh", "com.geeksville.mesh.service.MeshService") bindService(intent, serviceConnection, BIND_AUTO_CREATE) -
Interact with the API: Once bound, cast the
IBindertoIMeshService:override fun onServiceConnected(name: ComponentName?, service: IBinder?) { val meshService = IMeshService.Stub.asInterface(service) // Example: Send a text message val packet = DataPacket( to = DataPacket.ID_BROADCAST, bytes = "Hello Meshtastic!".toByteArray(), dataType = Portnums.PortNum.TEXT_MESSAGE_APP_VALUE, // ... other fields ) meshService.send(packet) }
Modules
core:api: ContainsIMeshService.aidl.core:model: Contains Parcelable data classes likeDataPacket,MeshUser,NodeInfo.core:proto: Contains the generated Protobuf code frommeshtastic/protobufs.