本文整理汇总了Java中android.support.v4.app.BundleCompat类的典型用法代码示例。如果您正苦于以下问题:Java BundleCompat类的具体用法?Java BundleCompat怎么用?Java BundleCompat使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BundleCompat类属于android.support.v4.app包,在下文中一共展示了BundleCompat类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onConnected
import android.support.v4.app.BundleCompat; //导入依赖的package包/类
public void onConnected() {
Bundle extras = MediaBrowserCompatApi21.getExtras(this.mBrowserObj);
if (extras != null) {
IBinder serviceBinder = BundleCompat.getBinder(extras, MediaBrowserProtocol.EXTRA_MESSENGER_BINDER);
if (serviceBinder != null) {
this.mServiceBinderWrapper = new ServiceBinderWrapper(serviceBinder);
this.mCallbacksMessenger = new Messenger(this.mHandler);
this.mHandler.setCallbacksMessenger(this.mCallbacksMessenger);
try {
this.mServiceBinderWrapper.registerCallbackMessenger(this.mCallbacksMessenger);
} catch (RemoteException e) {
Log.i(MediaBrowserCompat.TAG, "Remote error registering client messenger.");
}
onServiceConnected(this.mCallbacksMessenger, null, null, null);
}
}
}
示例2: Builder
import android.support.v4.app.BundleCompat; //导入依赖的package包/类
public Builder(@Nullable CustomTabsSession session) {
this.mIntent = new Intent("android.intent.action.VIEW");
this.mMenuItems = null;
this.mStartAnimationBundle = null;
this.mActionButtons = null;
if (session != null) {
this.mIntent.setPackage(session.getComponentName().getPackageName());
}
Bundle bundle = new Bundle();
BundleCompat.putBinder(bundle, "android.support.customtabs.extra.SESSION", session == null ? null : session.getBinder());
this.mIntent.putExtras(bundle);
}
示例3: safeGetBinder
import android.support.v4.app.BundleCompat; //导入依赖的package包/类
/**
* Just like {@link BundleCompat#getBinder()}, but doesn't throw exceptions.
*/
public static IBinder safeGetBinder(Bundle bundle, String name) {
if (bundle == null) return null;
try {
return BundleCompat.getBinder(bundle, name);
} catch (Throwable t) {
// Catches un-parceling exceptions.
Log.e(TAG, "getBinder failed on bundle " + bundle);
return null;
}
}
示例4: safePutBinderExtra
import android.support.v4.app.BundleCompat; //导入依赖的package包/类
/**
* Inserts a {@link Binder} value into an Intent as an extra.
*
* Uses {@link BundleCompat#putBinder()}, but doesn't throw exceptions.
*
* @param intent Intent to put the binder into.
* @param name Key.
* @param binder Binder object.
*/
@VisibleForTesting
public static void safePutBinderExtra(Intent intent, String name, IBinder binder) {
if (intent == null) return;
Bundle bundle = new Bundle();
try {
BundleCompat.putBinder(bundle, name, binder);
} catch (Throwable t) {
// Catches parceling exceptions.
Log.e(TAG, "putBinder failed on bundle " + bundle);
}
intent.putExtras(bundle);
}
示例5: putCustomTabsExtra
import android.support.v4.app.BundleCompat; //导入依赖的package包/类
public static void putCustomTabsExtra(Intent intent) {
// enable Custom Tabs if supported
Bundle bundle = new Bundle();
BundleCompat.putBinder(bundle, EXTRA_CUSTOM_TABS_SESSION, null);
intent.putExtras(bundle);
intent.putExtra(EXTRA_ENABLE_URLBAR_HIDING, true);
}
示例6: getSessionTokenFromIntent
import android.support.v4.app.BundleCompat; //导入依赖的package包/类
public static CustomTabsSessionToken getSessionTokenFromIntent(Intent intent) {
Bundle b = intent.getExtras();
IBinder binder = BundleCompat.getBinder(b, "android.support.customtabs.extra.SESSION");
return binder == null ? null : new CustomTabsSessionToken(ICustomTabsCallback.Stub.asInterface(binder));
}
示例7: testSerializeIBinder
import android.support.v4.app.BundleCompat; //导入依赖的package包/类
@Test
public void testSerializeIBinder() {
IBinder expectedValue = new Binder();
mCoder.serialize(bundle(), randomKey(), expectedValue);
assertEquals(expectedValue, BundleCompat.getBinder(bundle(), randomKey()));
}
示例8: testDeserializeIBinder
import android.support.v4.app.BundleCompat; //导入依赖的package包/类
@Test
public void testDeserializeIBinder() {
IBinder expectedValue = new Binder();
BundleCompat.putBinder(bundle(), randomKey(), expectedValue);
assertEquals(expectedValue, mCoder.deserialize(bundle(), randomKey()));
}
示例9: getSessionTokenFromIntent
import android.support.v4.app.BundleCompat; //导入依赖的package包/类
/**
* Obtain a {@link CustomTabsSessionToken} from an intent. See {@link CustomTabsIntent.Builder}
* for ways to generate an intent for custom tabs.
* @param intent The intent to generate the token from. This has to include an extra for
* {@link CustomTabsIntent#EXTRA_SESSION}.
* @return The token that was generated.
*/
public static CustomTabsSessionToken getSessionTokenFromIntent(Intent intent) {
Bundle b = intent.getExtras();
IBinder binder = BundleCompat.getBinder(b, CustomTabsIntent.EXTRA_SESSION);
if (binder == null) return null;
return new CustomTabsSessionToken(ICustomTabsCallback.Stub.asInterface(binder));
}
示例10: Builder
import android.support.v4.app.BundleCompat; //导入依赖的package包/类
/**
* Creates a {@link CustomTabsIntent.Builder} object associated with a given
* {@link CustomTabsSession}.
*
* Guarantees that the {@link Intent} will be sent to the same component as the one the
* session is associated with.
*
* @param session The session to associate this Builder with.
*/
public Builder(@Nullable CustomTabsSession session) {
if (session != null) mIntent.setPackage(session.getComponentName().getPackageName());
Bundle bundle = new Bundle();
BundleCompat.putBinder(
bundle, EXTRA_SESSION, session == null ? null : session.getBinder());
mIntent.putExtras(bundle);
}
示例11: launchAsTrustedWebActivity
import android.support.v4.app.BundleCompat; //导入依赖的package包/类
/**
* Launch the given {@link CustomTabsIntent} as a Trusted Web Activity. The given
* {@link CustomTabsIntent} should have a valid {@link CustomTabsSession} associated with it
* during construction. Once the Trusted Web Activity is launched, browser side implementations
* may have their own fallback behavior (e.g. Showing the page in a custom tab UI with toolbar)
* based on qualifications listed above or more.
*
* @param context {@link Context} to use while launching the {@link CustomTabsIntent}.
* @param customTabsIntent The {@link CustomTabsIntent} to use for launching the
* Trusted Web Activity. Note that all customizations in the given
* associated with browser toolbar controls will be ignored.
* @param uri The web page to launch as Trusted Web Activity.
*/
public static void launchAsTrustedWebActivity(@NonNull Context context,
@NonNull CustomTabsIntent customTabsIntent, @NonNull Uri uri) {
if (BundleCompat.getBinder(
customTabsIntent.intent.getExtras(), CustomTabsIntent.EXTRA_SESSION) == null) {
throw new IllegalArgumentException(
"Given CustomTabsIntent should be associated with a valid CustomTabsSession");
}
customTabsIntent.intent.putExtra(EXTRA_LAUNCH_AS_TRUSTED_WEB_ACTIVITY, true);
customTabsIntent.launchUrl(context, uri);
}
示例12: getSessionTokenFromIntent
import android.support.v4.app.BundleCompat; //导入依赖的package包/类
/**
* Obtain a {@link CustomTabsSessionToken} from an intent. See {@link CustomTabsIntent.Builder}
* for ways to generate an intent for custom tabs.
*
* @param intent The intent to generate the token from. This has to include an extra for
* {@link CustomTabsIntent#EXTRA_SESSION}.
* @return The token that was generated.
*/
public static CustomTabsSessionToken getSessionTokenFromIntent(Intent intent) {
Bundle b = intent.getExtras();
IBinder binder = BundleCompat.getBinder(b, CustomTabsIntent.EXTRA_SESSION);
if (binder == null) return null;
return new CustomTabsSessionToken(ICustomTabsCallback.Stub.asInterface(binder));
}
示例13: serialize
import android.support.v4.app.BundleCompat; //导入依赖的package包/类
/**
* Write a field's value into the saved state {@link Bundle}.
*
* @param state {@link Bundle} used to save the state
* @param key key retrieved from {@code fieldDeclaringClass#fieldName}
* @param fieldValue value of field
*/
@Override
public void serialize(@NonNull Bundle state, @NonNull String key, @NonNull IBinder fieldValue) {
BundleCompat.putBinder(state, key, fieldValue);
}