我正在尝试添加一个保存功能,我想得到customTabsIntent
的当前网址。
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
PendingIntent pendingIntent;
Intent intent = new Intent();
//something
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(context,Uri.parse(URL));
使用这样的广播接收器:
public class CustomTabsBroadcastReceiver extends BroadcastReceiver {
private static final String TAG = CustomTabsBroadcastReceiver.class.getSimpleName();
@Override
public void onReceive(Context context, Intent intent) {
Uri uri = intent.getData();
if (uri != null) {
ClipboardManager clipboardManager = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
String label = "Current url";
ClipData clipData = ClipData.newUri(null, label, uri);
assert clipboardManager != null;
clipboardManager.setPrimaryClip(clipData);
}
}
}
在清单中注册接收器:
<receiver
android:name=".CustomTabsBroadcastReceiver"
android:enabled="true" />
获取待处理意图中的链接并使用它执行所需操作:
Intent copyIntent = new Intent(mContext, CustomTabsBroadcastReceiver.class);
String label = "Copy link";
PendingIntent copyPendingIntent = PendingIntent.getBroadcast(mContext,
COPY_LINK_REQUEST_CODE, copyIntent, PendingIntent.FLAG_UPDATE_CURRENT);
mCustomTabsBuilder.addMenuItem(label, copyPendingIntent);