PrimaryClipChangedListenerを使用してクリップボードの値変更を検知する


API level11のClipboardManagerから、ClipboardManagerにPrimaryClipChangedListenerを付与することができるようになりました。

このリスナーはクリップボード内のデータが変更された場合にイベントが発生するイベントを検知するリスナーです。
(現在OnPrimaryClipChangedListenerは公式ドキュメントに詳細が載っていないため、独自の調査と見解で本記事を書いています。今後、公式ドキュメントに詳細が追加され、私の見解と違う内容が記載された場合には修正致します。)

詳細は以下から。

PrimaryClipChangedListenerを付与する

PrimaryClipChangedListenerを実装する為には、addPrimaryClipChangedListenerメソッドでClipboardManagerにPrimaryClipChangedListenerを付与します。

以下に実装例を記載します。

ClipboardManager cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
//PrimaryClipChangedListenerの追加
cm.addPrimaryClipChangedListener(new OnPrimaryClipChangedListener() {
	@Override
	public void onPrimaryClipChanged() {
		Toast.makeText(getApplicationContext(), "PrimaryClipChangedListener", Toast.LENGTH_SHORT);
	}
});

関連する記事: