Been trying to get this example to work:
https://docs.fusetools.com/native-interop/android-start-activity.html
But when trying to run it I keep getting the error:
Binding ‘ClickPlay’ to Uno event handler method isn’t supported.
Main.ux:
<App>
<Button Text="Play" Clicked="ClickPlay" />
</App>
Is this example old an does not work any longer?
ActivityForResult.zip (1.3 KB)
Strange. Please try the attached code as it’s working for me on android.
satz
April 22, 2018, 8:01am
3
Even for me this isn’t working. I am getting the same error.
using Uno;
using Uno.Platform;
using Uno.Collections;
using Fuse;
using Fuse.Controls;
using Fuse.Triggers;
using Fuse.Resources;
using Android;
using Uno.Compiler.ExportTargetInterop;
[ForeignInclude(Language.ObjC, "StoreKit/StoreKit.h")]
[ForeignInclude(Language.Java,
"android.app.Activity",
"android.content.Intent",
"android.net.Uri",
"android.content.Context",
"java.io.File")]
public partial class SideMenu
{
extern (!Mobile) void RateApp(object sender, Uno.EventArgs args)
{
// Do some non mobile stuff :)
}
extern (Android) void RateApp(object sender, Uno.EventArgs args)
{
// Do some android stuff
}
extern (iOS) void RateApp(object sender, Uno.EventArgs args)
{
}
[Foreign(Language.ObjC)]
static extern(iOS) void iOSRequestReview()
@{
if (@available(iOS 10.3, *)) {
[SKStoreReviewController requestReview];
return;
}
@}
[Foreign(Language.Java)]
static extern(Android) Java.Object AndroidRequestReview()
@{
Uri uri = Uri.parse("market://details?id=com.mysite.myAppPackageName");
Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
goToMarket.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY |
Intent.FLAG_ACTIVITY_NEW_DOCUMENT |
Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
return goToMarket;
@}
}
?: Error : Binding 'RateApp' to Uno event handler method isn't supported.
satz
April 25, 2018, 4:42pm
4
someone please shed some light on this!
Arturs
April 27, 2018, 1:33pm
5
Hey @satz .
Try using @Baggers working code, this should work running export build for Android. In Fuse studio Export -> Export for Android or in terminal run fuse build -t=android
.
Hope this helps.
satz
April 28, 2018, 1:03pm
6
Hey @Arturs ,
Thanks! But this is throwing error in fuse preview . Thus making it difficult for development.