如何使用Xamarin android使用onclick监听器打开另一个已安装的应用程序

时间:2015-08-17 18:09:18

标签: android xamarin xamarin.android

您好我正在开发一个应用程序,其中有一个分配了onclick值的按钮我的问题是如何让它打开另一个我已经安装在设备上我知道如何在java中执行此操作但需要知道如何在Xamarin中做到这一点

这是我的按钮布局代码:

<Button
            android:text="Tools"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/button1"
            android:onClick="tools" />

这是按钮的c#代码:

 //Code That Opens The Tools App!

    [Java.Interop.Export("tools")] // The value found in android:onClick attribute.
    public void btnOneClick2(View v) // Does not need to match value in above attribute.
    {
        var intent = new Intent(Android.Content.Intent.ActionSend);
        var uri = Android.Net.Uri.Parse("com.d4a.toolbelt");
        StartActivity(intent);
    }

com.d4a.toolbelt是我正在尝试打开的应用的包名。

任何帮助都会很棒!

提前谢谢

2 个答案:

答案 0 :(得分:1)

您可以使用PackageManager:

Intent i;
PackageManager manager = PackageManager;
try {
    i = manager.GetLaunchIntentForPackage("com.d4a.toolbelt");
    if (i == null)
        throw new PackageManager.NameNotFoundException();
    i.AddCategory(Intent.CategoryLauncher);
    StartActivity(i);
} catch (PackageManager.NameNotFoundException e) {

}

答案 1 :(得分:0)

我认为它可以使用这段代码:

 [Java.Interop.Export("tools")] // The value found in android:onClick attribute.
        public void btnOneClick2(View v) // Does not need to match value in above attribute.
        {
            var intent = PackageManager.GetLaunchIntentForPackage("com.d4a.toolbelt");
            StartActivity(intent);
        }