728x90
반응형
How to open another app in Xamarin.
Use PackageManager
in ~.Android project
[assembly: Xamarin.Forms.Dependency(typeof(AppLinkService))]
namespace MyApp.Droid.Service
{
public class AppLinkService : IServiceAppLink
{
public Task<bool> LaunchApp(string packageName)
{
bool result = false;
try
{
PackageManager pm = Android.App.Application.Context.PackageManager;
var activity = Xamarin.Essentials.Platform.CurrentActivity as MainActivity;
if (activity == null) return null;
if (IsAppInstalled(packageName))
{
Intent intent = pm.GetLaunchIntentForPackage(packageName);
if (intent != null)
{
intent.SetFlags(ActivityFlags.ClearTop | ActivityFlags.ClearTask | ActivityFlags.NewTask);
activity.StartActivity(intent);
}
}
else
{
// 다운로드?
}
}
catch (ActivityNotFoundException)
{
result = false;
}
return Task.FromResult(result);
}
private bool IsAppInstalled(string packageName)
{
PackageManager pm = Android.App.Application.Context.PackageManager;
bool installed = false;
try
{
pm.GetPackageInfo(packageName, PackageInfoFlags.Activities);
installed = true;
}
catch (PackageManager.NameNotFoundException e)
{
installed = false;
}
return installed;
}
}
}
☆☆
[assembly: Xamarin.Forms.Dependency(typeof(AppLinkService))]
Intent intent = pm.GetLaunchIntentForPackage(packageName);
activity.StartActivity(intent);
☆☆
* Remember Interface => IServiceAppLink
Use Interface
in C# project
namespace MyApp.Interface
{
public interface IServiceAppLink
{
Task<bool> LaunchApp(string packageName);
}
}
How to call
in C# project
Button_Click(object sender, EvenctArg e)
{
Xamarin.Forms.DependencyService.Get<Interface.IServiceAppLink>().LaunchApp("Write Your AnotherApp Package Name");
}
Ref.
android - Xamarin Forms: How to open an app from another app? - Stack Overflow
728x90
반응형
'프로그래밍 > Xamarin(자마린)' 카테고리의 다른 글
[Xamarin, c#, UWP] UWP, How to Disable Caret Browsing in code(key F7), Disable Cursor Browsing in uwp app (0) | 2022.10.11 |
---|---|
[Xamarin] KeyDownEvent fires twice on Android (0) | 2022.08.10 |
[UWP] 풀스크린 모드로 변경 및 풀스크린 모드(FullScreen & Mode) (0) | 2022.06.07 |
[Xamarin] How to open another app with data (0) | 2021.12.22 |
댓글