Как создать настраиваемую вкладку для кнопки действия намеренного строителя, которая сохраняет текущий URL - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь добавить функцию сохранения и хочу получить текущий URL-адрес customTabsIntent.

CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
PendingIntent pendingIntent;
Intent intent = new Intent();
//something
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(context,Uri.parse(URL));

1 Ответ

0 голосов
/ 26 февраля 2019

Используйте широковещательный приемник следующим образом:

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...