Можно сделать как то так. Это рабочий пример из одного приложения, которое содержимое буфера обмена передает в другое приложение com.mydev.myappname в активити activityname:
if (clipupsync) {
Intent clipupintent = new Intent();
clipupintent.setPackage("com.mydev.myappname");
PackageManager pm = getPackageManager();
@SuppressLint("QueryPermissionsNeeded")
List<ResolveInfo> resolveInfos = pm.queryIntentActivities(clipupintent, 0);
Collections.sort(resolveInfos, new ResolveInfo.DisplayNameComparator(pm));
if (resolveInfos.size() > 0) {
Intent i = new Intent(clipupintent);
ComponentName name = new ComponentName("com.mydev.myappname", "com.mydev.myappname.activityname");
i.setComponent(name);
i.putExtra("clipuploader", resulturl);
i.setType("text/plain");
startActivity(i);
}
}
В открываемой активити прнимающего приложения должно быть что-то вроде этого:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
clipboard = getIntent()
.getCharSequenceExtra(Intent.EXTRA_PROCESS_TEXT);
if (clipboard == null){
clipboard = getIntent().getStringExtra("clipuploader");
}
CharSequence cliptoshare = clipboard;
clipboard = null;
new Sharing().getClipboard(cliptoshare, this);
finish();
// process the text
}