在 Android 中,使用 putBinder 方法将实现了 IBinder 接口的对象传递到 Bundle 中,并通过 Intent 传递数据。以下是一个完整的示例,展示如何通过 putBinder 方法在跨进程传输大图片时实现这一目标。
步骤1:定义 AIDL 接口
首先,创建一个 AIDL 接口,用于定义获取 Bitmap 的方法。在你的应用模块中创建一个新的 AIDL 文件(例如 IRemoteCaller.aidl)。
package com.example.myapp;
import android.graphics.Bitmap;
interface IRemoteCaller {
Bitmap getBitmap();
}
步骤2:实现 AIDL 接口
在服务端实现 AIDL 接口,并返回 Bitmap 对象。
服务端代码:
public class ImageService extends Service {
private Bitmap mBitmap;
@Override
public void onCreate() {
super.onCreate();
// 初始化 Bitmap,例如从文件中加载
mBitmap = BitmapFactory.decodeFile(getExternalFilesDir(null) + "/shared_image.jpg");
}
private

最低0.47元/天 解锁文章
2448

被折叠的 条评论
为什么被折叠?



