Xamarin Forms에서 ClipBoard의 변경을 모니터링 해서 처리하는 방법.
안드로이드 프로젝트의 Activity에 구현하고 Forms 프로젝트와 인터페이싱을 통해 처리할수 있다.
MainActivity.cs
using Android.App;
using Android.Content;
using System;
using testProject.Module;
namespace withGmpAndroid.Droid
{
[Activity(Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle bundle)
{
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
ClipboardManager mng = (ClipboardManager)GetSystemService(ClipboardService);
mng.PrimaryClipChanged += Mng_PrimaryClipChanged;
global::Xamarin.Forms.Forms.Init(this, bundle);
LoadApplication(new App(new AndroidInitializer()));
}
private void Mng_PrimaryClipChanged(object sender, EventArgs e)
{
var msg = ((ClipboardManager)sender).Text;
}
}
}
위의 코드에서 필요한 부분은 아래와 같다.
using Android.Content;
...
ClipboardManager mng = (ClipboardManager)GetSystemService(ClipboardService);
mng.PrimaryClipChanged += Mng_PrimaryClipChanged;
...
Mng_PrimaryClipChanged 이벤트 함수 구현
클립보드에 변경 이벤트가 발생하면 이벤트 함수를 통해 처리할 수 있다.
PCL 프로젝트에서 사용예제는 아래 게시글에 있다.
2019/06/18 - [프로그래밍/안드로이드-자마린폼즈] - Xamarin Forms 에서 클립보드 이벤트 처리 2
'프로그래밍 > 안드로이드-자마린폼즈' 카테고리의 다른 글
설치시 실행 아이콘 두개가 생기는 경우 (0) | 2019.11.22 |
---|---|
Xamarin Forms 에서 클립보드 이벤트 처리 2 (0) | 2019.06.18 |
EventToCommandBehavior in Prism (0) | 2019.06.18 |
안드로이드에서 공용디렉토리의 절대경로를 얻는방법 (0) | 2019.05.09 |
안드로이드 스튜디오 (android studio) Rendering Problems (0) | 2016.01.13 |