變數

Binder for Rust supports sending parcelables directly:

birthday_service/aidl/com/example/birthdayservice/BirthdayInfo.aidl:

package com.example.birthdayservice; parcelable BirthdayInfo { String name; int years; }

birthday_service/aidl/com/example/birthdayservice/IBirthdayService.aidl:

import com.example.birthdayservice.BirthdayInfo; interface IBirthdayService { /** The same thing, but with a parcelable. */ String wishWithInfo(in BirthdayInfo info); }

birthday_service/src/client.rs:

fn main() { binder::ProcessState::start_thread_pool(); let service = connect().expect("Failed to connect to BirthdayService"); service.wishWithInfo(&BirthdayInfo { name: name.clone(), years })?; }