本文整理了Java中android.os.Parcel.writeStrongBinder()
方法的一些代码示例,展示了Parcel.writeStrongBinder()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Parcel.writeStrongBinder()
方法的具体详情如下:
包路径:android.os.Parcel
类名称:Parcel
方法名:writeStrongBinder
[英]Write an object into the parcel at the current dataPosition(), growing dataCapacity() if needed.
[中]将对象写入当前dataPosition()处的地块,如果需要,增加dataCapacity()。
代码示例来源:origin: johncarl81/parceler
@Override
public void nullSafeToParcel(IBinder input, Parcel parcel) {
parcel.writeStrongBinder(input);
}
};
代码示例来源:origin: android-hacker/VirtualXposed
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(this.mType);
dest.writeByte(this.mOrderedHint ? (byte) 1 : (byte) 0);
dest.writeByte(this.mInitialStickyHint ? (byte) 1 : (byte) 0);
dest.writeStrongBinder(this.mToken);
dest.writeInt(this.mSendingUser);
dest.writeInt(this.mFlags);
dest.writeInt(this.mResultCode);
dest.writeString(this.mResultData);
dest.writeBundle(this.mResultExtras);
dest.writeByte(this.mAbortBroadcast ? (byte) 1 : (byte) 0);
dest.writeByte(this.mFinished ? (byte) 1 : (byte) 0);
}
代码示例来源:origin: firebase/firebase-jobdispatcher-android
@Override
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeStrongBinder(binder);
}
}
代码示例来源:origin: stackoverflow.com
public boolean onTransact(int code, Parcel data, Parcel reply, int flags)
51 {
52 try {
53 switch (code) {
54 case IServiceManager.GET_SERVICE_TRANSACTION: {
55 data.enforceInterface(IServiceManager.descriptor);
56 String name = data.readString();
57 IBinder service = getService(name);
58 reply.writeStrongBinder(service);
59 return true;
60 }
61
62 case IServiceManager.CHECK_SERVICE_TRANSACTION: {
63 data.enforceInterface(IServiceManager.descriptor);
64 String name = data.readString();
65 IBinder service = checkService(name);
66 reply.writeStrongBinder(service);
67 return true;
68 }
69
//Rest has been discarded for brevity…………………..
………………….
………………….
…………………
代码示例来源:origin: android-hacker/VirtualXposed
if (DEBUG)
Log.d(TAG, "Breaking @" + i + " of " + N + ": retriever=" + retriever);
dest.writeStrongBinder(retriever);
代码示例来源:origin: Marswin/MarsDaemon
mServiceData.writeStrongBinder(null);
代码示例来源:origin: Marswin/MarsDaemon
mBroadcastData.writeInterfaceToken("android.app.IActivityManager");
mBroadcastData.writeStrongBinder(null);
intent.writeToParcel(mBroadcastData, 0);
mBroadcastData.writeString(intent.resolveTypeIfNeeded(context.getContentResolver()));
mBroadcastData.writeStrongBinder(null);
mBroadcastData.writeInt(Activity.RESULT_OK);
mBroadcastData.writeString(null);
代码示例来源:origin: Marswin/MarsDaemon
mServiceData.writeStrongBinder(null);
代码示例来源:origin: LawnchairLauncher/Lawnchair
@Override
public void windowAttached(WindowManager.LayoutParams attrs, ILauncherOverlayCallback callbacks, int options) throws RemoteException {
Parcel data = Parcel.obtain();
try {
data.writeInterfaceToken(ILauncherOverlay.class.getName());
if (attrs != null) {
data.writeInt(1);
attrs.writeToParcel(data, 0);
} else {
data.writeInt(0);
}
data.writeStrongBinder(callbacks.asBinder());
data.writeInt(options);
data.writeInt(1);
mRemote.transact(WINDOW_ATTACHED_TRANSACTION, data, null, FLAG_ONEWAY);
} finally {
data.recycle();
}
}
代码示例来源:origin: android-hacker/VirtualXposed
public static PendingIntent readPendingIntent(IBinder binder) {
Parcel parcel = Parcel.obtain();
parcel.writeStrongBinder(binder);
parcel.setDataPosition(0);
try {
return PendingIntent.readPendingIntentOrNullFromParcel(parcel);
} finally {
parcel.recycle();
}
}
代码示例来源:origin: LawnchairLauncher/Lawnchair
@Override
public void windowAttached2(Bundle bundle, ILauncherOverlayCallback iLauncherOverlayCallback) throws RemoteException {
IBinder iBinder = null;
Parcel obtain = Parcel.obtain();
try {
obtain.writeInterfaceToken("com.google.android.libraries.launcherclient.ILauncherOverlay");
if (bundle == null) {
obtain.writeInt(0);
} else {
obtain.writeInt(1);
bundle.writeToParcel(obtain, 0);
}
if (iLauncherOverlayCallback != null) {
iBinder = iLauncherOverlayCallback.asBinder();
}
obtain.writeStrongBinder(iBinder);
this.mRemote.transact(14, obtain, null, FLAG_ONEWAY);
} finally {
obtain.recycle();
}
}
代码示例来源:origin: robolectric/robolectric
@Test
@Config(minSdk = LOLLIPOP)
public void testWriteNullStrongBinder() {
parcel.writeStrongBinder(null);
parcel.setDataPosition(0);
assertThat(parcel.readStrongBinder()).isNull();
}
代码示例来源:origin: robolectric/robolectric
@Test
@Config(minSdk = LOLLIPOP)
public void testReadWriteSingleStrongBinder() {
IBinder binder = new Binder();
parcel.writeStrongBinder(binder);
parcel.setDataPosition(0);
assertThat(parcel.readStrongBinder()).isEqualTo(binder);
}
代码示例来源:origin: robolectric/robolectric
@Test
@Config(minSdk = LOLLIPOP)
public void testReadWriteMultipleStrongBinders() {
List<IBinder> binders = new ArrayList<>();
for (int i = 0; i < 10; ++i) {
IBinder binder = new Binder();
binders.add(binder);
parcel.writeStrongBinder(binder);
}
parcel.setDataPosition(0);
for (int i = 0; i < 10; ++i) {
assertThat(parcel.readStrongBinder()).isEqualTo(binders.get(i));
}
// now try to read past the number of items written and see what happens
assertThat(parcel.readStrongBinder()).isNull();
}
代码示例来源:origin: firebase/firebase-jobdispatcher-android
@Test
public void testOnStartCommand_handlesStartJob_noTag() {
JobService service = spy(new ExampleJobService());
int startId = 7;
Intent executeJobIntent = new Intent(JobService.ACTION_EXECUTE);
Parcel p = Parcel.obtain();
p.writeStrongBinder(mock(IBinder.class));
executeJobIntent.putExtra("callback", new PendingCallback(p));
service.onStartCommand(executeJobIntent, 0, startId);
verify(service).stopSelf(startId);
p.recycle();
}
代码示例来源:origin: robolectric/robolectric
@Test
public void testDataPositionAfterSomeWrites() {
parcel.writeInt(1);
assertThat(parcel.dataPosition()).isEqualTo(4);
parcel.writeFloat(5);
assertThat(parcel.dataPosition()).isEqualTo(8);
parcel.writeDouble(37);
assertThat(parcel.dataPosition()).isEqualTo(16);
parcel.writeStrongBinder(new Binder()); // 20 bytes
assertThat(parcel.dataPosition()).isEqualTo(36);
}
代码示例来源:origin: firebase/firebase-jobdispatcher-android
@Test
public void prepareJob() {
Intent intent = new Intent();
Bundle encode = encodeContentUriJob(getContentUriTrigger(), TestUtil.JOB_CODER);
intent.putExtra(GooglePlayJobWriter.REQUEST_PARAM_EXTRAS, encode);
Parcel container = Parcel.obtain();
container.writeStrongBinder(new Binder());
PendingCallback pcb = new PendingCallback(container);
intent.putExtra("callback", pcb);
ArrayList<Uri> uris = new ArrayList<>();
uris.add(ContactsContract.AUTHORITY_URI);
uris.add(Media.EXTERNAL_CONTENT_URI);
intent.putParcelableArrayListExtra(BundleProtocol.PACKED_PARAM_TRIGGERED_URIS, uris);
JobInvocation jobInvocation = receiver.prepareJob(intent);
assertEquals(jobInvocation.getTriggerReason().getTriggeredContentUris(), uris);
}
代码示例来源:origin: firebase/firebase-jobdispatcher-android
public PendingCallback toPendingCallback() {
Parcel container = Parcel.obtain();
try {
container.writeStrongBinder(this);
container.setDataPosition(0);
return new PendingCallback(container);
} finally {
container.recycle();
}
}
代码示例来源:origin: stackoverflow.com
public boolean handleApplicationWtf(IBinder app, String tag,
ApplicationErrorReport.CrashInfo crashInfo)
throws RemoteException {
Parcel data = Parcel.obtain();
Parcel reply = Parcel.obtain();
data.writeInterfaceToken(IActivityManager.descriptor);
data.writeStrongBinder(app);
data.writeString(tag);
crashInfo.writeToParcel(data, 0);
mRemote.transact(HANDLE_APPLICATION_WTF_TRANSACTION, data,
reply, 0);
reply.readException();
boolean res = reply.readInt() != 0;
reply.recycle();
data.recycle();
return res;
}
代码示例来源:origin: skjolber/external-nfc-api
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeStrongBinder(readerControl.asBinder());
}
内容来源于网络,如有侵权,请联系作者删除!