1. La méthode officielle pour définir le presse-papiers du système est fournie
uni.setClipboardData({
data: 'hello',
success: function () {
console.log('success');
}
});
Ce n'est pas bon pour moi. Vous pouvez utiliser
2. Officiellement pour obtenir le contenu du presse-papiers du système.
uni.getClipboardData({
success: function (res) {
console.log(res.data);
}
});
S'il est défini via le fichier uni.setClipboardData officiel, il peut être obtenu, mais s'il est copié à partir d'autres emplacements, il ne peut pas l'être. Abandonner résolument
3. Utilisez Native.js pour obtenir le contenu du presse-papiers du système. Ceci est plus facile à utiliser et peut également surveiller le contenu copié à partir d'autres endroits, mais ne prend en charge que l'application
//安卓
function copyToClip(){
var Context = plus.android.importClass("android.content.Context");
var main = plus.android.runtimeMainActivity();
var clip = main.getSystemService(Context.CLIPBOARD_SERVICE);
return plus.android.invoke(clip,"getText");
}
4. Utilisez Native.js pour définir le contenu du presse-papiers du système, mais ne prend en charge que l'application
function copyToClip(){
var Context = plus.android.importClass("android.content.Context");
var main = plus.android.runtimeMainActivity();
var clip = main.getSystemService(Context.CLIPBOARD_SERVICE);
plus.android.invoke(clip,"setText","I'm copy from Native.js");
}
Rencontré dans le projet et enregistré
5. ios non testé
var UIPasteboard = plus.ios.importClass("UIPasteboard");
var generalPasteboard = UIPasteboard.generalPasteboard();
// 设置/获取文本内容:
generalPasteboard.setValueforPasteboardType("testValue", "public.utf8-plain-text");
var value = generalPasteboard.valueForPasteboardType("public.utf8-plain-text");