本文整理了Java中android.os.Bundle.putBinder()
方法的一些代码示例,展示了Bundle.putBinder()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Bundle.putBinder()
方法的具体详情如下:
包路径:android.os.Bundle
类名称:Bundle
方法名:putBinder
暂无
代码示例来源:origin: ogaclejapan/SmartTabLayout
/**
* Inserts an {@link android.os.IBinder} value into the mapping of this Bundle, replacing
* any existing value for the given key. Either key or value may be null.
*
* <p class="note">You should be very careful when using this function. In many
* places where Bundles are used (such as inside of Intent objects), the Bundle
* can live longer inside of another process than the process that had originally
* created it. In that case, the IBinder you supply here will become invalid
* when your process goes away, and no longer usable, even if a new process is
* created for you later on.</p>
*
* @param key a String, or null
* @param value an IBinder object, or null
*/
@TargetApi(18)
public Bundler putBinder(String key, IBinder value) {
bundle.putBinder(key, value);
return this;
}
代码示例来源:origin: ogaclejapan/SmartTabLayout
/**
* Inserts an {@link android.os.IBinder} value into the mapping of this Bundle, replacing
* any existing value for the given key. Either key or value may be null.
*
* <p class="note">You should be very careful when using this function. In many
* places where Bundles are used (such as inside of Intent objects), the Bundle
* can live longer inside of another process than the process that had originally
* created it. In that case, the IBinder you supply here will become invalid
* when your process goes away, and no longer usable, even if a new process is
* created for you later on.</p>
*
* @param key a String, or null
* @param value an IBinder object, or null
*/
@TargetApi(18)
public Bundler putBinder(String key, IBinder value) {
bundle.putBinder(key, value);
return this;
}
代码示例来源:origin: android-hacker/VirtualXposed
public static void putBinder(Bundle bundle, String key, IBinder value) {
if (Build.VERSION.SDK_INT >= 18) {
bundle.putBinder(key, value);
} else {
mirror.android.os.Bundle.putIBinder.call(bundle, key, value);
}
}
代码示例来源:origin: stackoverflow.com
final Object objSent = new Object();
final Bundle bundle = new Bundle();
bundle.putBinder("object_value", new ObjectWrapperForBinder(objSent));
startActivity(new Intent(this, SecondActivity.class).putExtras(bundle));
Log.d(TAG, "original object=" + objSent);
代码示例来源:origin: stackoverflow.com
final IDataContract objSent = new IDataContract.Stub() {
@Override
public int func2(String arg1) throws RemoteException {
// TODO Auto-generated method stub
Log.d(TAG, "func2:: arg1=" + arg1);
return 102;
}
@Override
public int func1(String arg1) throws RemoteException {
// TODO Auto-generated method stub
Log.d(TAG, "func1:: arg1=" + arg1);
return 101;
}
};
final Bundle bundle = new Bundle();
bundle.putBinder("object_value", objSent.asBinder());
startActivity(new Intent(this, SecondActivity.class).putExtras(bundle));
Log.d(TAG, "original object=" + objSent);
代码示例来源:origin: kayoSun/Tack
public static void putToBundle(@NonNull Bundle bundle, String key, @Nullable IBinder value) {
bundle.putBinder(key, value);
}
public static void putSparseParcelableArrayToBundle(@NonNull Bundle bundle, String key,@Nullable SparseArray<? extends Parcelable> value) {
代码示例来源:origin: 80945540/FreeBook
/**
* Inserts an {@link android.os.IBinder} value into the mapping of this Bundle, replacing
* any existing value for the given key. Either key or value may be null.
*
* <p class="note">You should be very careful when using this function. In many
* places where Bundles are used (such as inside of Intent objects), the Bundle
* can live longer inside of another process than the process that had originally
* created it. In that case, the IBinder you supply here will become invalid
* when your process goes away, and no longer usable, even if a new process is
* created for you later on.</p>
*
* @param key a String, or null
* @param value an IBinder object, or null
*/
@TargetApi(18)
public Bundler putBinder(String key, IBinder value) {
bundle.putBinder(key, value);
return this;
}
代码示例来源:origin: 80945540/LCRapidDevelop
/**
* Inserts an {@link android.os.IBinder} value into the mapping of this Bundle, replacing
* any existing value for the given key. Either key or value may be null.
*
* <p class="note">You should be very careful when using this function. In many
* places where Bundles are used (such as inside of Intent objects), the Bundle
* can live longer inside of another process than the process that had originally
* created it. In that case, the IBinder you supply here will become invalid
* when your process goes away, and no longer usable, even if a new process is
* created for you later on.</p>
*
* @param key a String, or null
* @param value an IBinder object, or null
*/
@TargetApi(18)
public Bundler putBinder(String key, IBinder value) {
bundle.putBinder(key, value);
return this;
}
代码示例来源:origin: stackoverflow.com
public static final String EXTRA_EXIT_ANIMATION_BUNDLE =
"android.support.customtabs.extra.EXIT_ANIMATION_BUNDLE";
public static final String EXTRA_SESSION = "android.support.customtabs.extra.SESSION";
public void openCustomTab() {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.example.com"));
Bundle bundle = ActivityOptions
.makeCustomAnimation(
this, android.R.anim.slide_in_left, android.R.anim.slide_out_right)
.toBundle();
Bundle extrasBundle = new Bundle();
extrasBundle.putBinder(EXTRA_SESSION, null);
intent.putExtras(extrasBundle);
intent.putExtra(EXTRA_EXIT_ANIMATION_BUNDLE, bundle);
startActivity(intent);
}
代码示例来源:origin: limpoxe/Android-ServiceManager
public static void putBinder(Bundle bundle, String key, IBinder iBinder) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
bundle.putBinder(key, iBinder);
} else {
RefIectUtil.invokeMethod(bundle, Bundle.class, "putIBinder", new Class[]{String.class, IBinder.class}, new Object[]{key, iBinder});
}
}
代码示例来源:origin: bzsome/VirtualApp-x326
public static void putBinder(Bundle bundle, String key, IBinder value) {
if (Build.VERSION.SDK_INT >= 18) {
bundle.putBinder(key, value);
} else {
mirror.android.os.Bundle.putIBinder.call(bundle, key, value);
}
}
代码示例来源:origin: LuckyJayce/EventBus-Apt
public static void putBinder(Bundle bundle, String key, IBinder binder) {
if (Build.VERSION.SDK_INT >= 18) {
bundle.putBinder(key, binder);
} else {
BundleCompatBaseImpl.putBinder(bundle, key, binder);
}
}
代码示例来源:origin: darkskygit/VirtualApp
public static void putBinder(Bundle bundle, String key, IBinder value) {
if (Build.VERSION.SDK_INT >= 18) {
bundle.putBinder(key, value);
} else {
mirror.android.os.Bundle.putIBinder.call(bundle, key, value);
}
}
代码示例来源:origin: crazyhitty/Munch
public void loadCustomChromeTabs(String url) {
//ANDROID CHROME CUSTOM TABS IMPLEMENTATION
// Using a VIEW intent for compatibility with any other browsers on device.
// Caller should not be setting FLAG_ACTIVITY_NEW_TASK or
// FLAG_ACTIVITY_NEW_DOCUMENT.
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
// Must have. Extra used to match the session. Its value is an IBinder passed
// whilst creating a news session. See newSession() below. Even if the service is not
// used and there is no valid session id to be provided, this extra has to be present
// with a null value to launch a custom tab.
//CustomTabsClient
Bundle extras = new Bundle();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
extras.putBinder(EXTRA_CUSTOM_TABS_SESSION, null);
}
intent.putExtra(EXTRA_CUSTOM_TABS_TOOLBAR_COLOR, R.color.colorPrimary);
intent.putExtras(extras);
mContext.startActivity(intent);
}
代码示例来源:origin: PeterCxy/Shelter
private void startKiller() {
// Start the sticky KillerService to kill the ShelterService
// for us when we are removed from tasks
// This is a dirty hack because no lifecycle events will be
// called when task is removed from recents
Intent intent = new Intent(this, KillerService.class);
Bundle bundle = new Bundle();
bundle.putBinder("main", mServiceMain.asBinder());
bundle.putBinder("work", mServiceWork.asBinder());
intent.putExtra("extra", bundle);
startService(intent);
}
代码示例来源:origin: PeterCxy/Shelter
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
Intent data = new Intent();
Bundle bundle = new Bundle();
bundle.putBinder("service", service);
data.putExtra("extra", bundle);
setResult(RESULT_OK, data);
finish();
}
代码示例来源:origin: PeterCxy/Shelter
static AppListFragment newInstance(IShelterService service, boolean isRemote) {
AppListFragment fragment = new AppListFragment();
Bundle args = new Bundle();
args.putBinder("service", service.asBinder());
args.putBoolean("is_remote", isRemote);
fragment.setArguments(args);
return fragment;
}
代码示例来源:origin: PeterCxy/Shelter
@Override
public void installApk(UriForwardProxy uriForwarder, IAppInstallCallback callback) {
// Directly install an APK through a given Fd
// instead of installing an existing one
Intent intent = new Intent(DummyActivity.INSTALL_PACKAGE);
intent.setComponent(new ComponentName(ShelterService.this, DummyActivity.class));
// Generate a content Uri pointing to the Fd
// DummyActivity is expected to release the Fd after finishing
Uri uri = FileProviderProxy.setUriForwardProxy(uriForwarder, "apk");
intent.putExtra("direct_install_apk", uri);
// Send the callback to the DummyActivity
Bundle callbackExtra = new Bundle();
callbackExtra.putBinder("callback", callback.asBinder());
intent.putExtra("callback", callbackExtra);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
DummyActivity.registerSameProcessRequest(intent);
startActivity(intent);
}
代码示例来源:origin: PeterCxy/Shelter
@Override
public void uninstallApp(ApplicationInfoWrapper app, IAppInstallCallback callback) throws RemoteException {
if (!app.isSystem()) {
// Similarly, fire up DummyActivity to do uninstallation for us
Intent intent = new Intent(DummyActivity.UNINSTALL_PACKAGE);
intent.setComponent(new ComponentName(ShelterService.this, DummyActivity.class));
intent.putExtra("package", app.getPackageName());
// Send the callback to the DummyActivity
Bundle callbackExtra = new Bundle();
callbackExtra.putBinder("callback", callback.asBinder());
intent.putExtra("callback", callbackExtra);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
DummyActivity.registerSameProcessRequest(intent);
startActivity(intent);
} else {
if (mIsProfileOwner) {
// This is essentially the same as disabling the system app
// There is no way to reverse the "enableSystemApp" operation here
mPolicyManager.setApplicationHidden(
mAdminComponent,
app.getPackageName(), true);
callback.callback(Activity.RESULT_OK);
} else {
callback.callback(RESULT_CANNOT_INSTALL_SYSTEM_APP);
}
}
}
代码示例来源:origin: PeterCxy/Shelter
callbackExtra.putBinder("callback", callback.asBinder());
intent.putExtra("callback", callbackExtra);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
内容来源于网络,如有侵权,请联系作者删除!