从 android 类项目创建 Activity 的 Intenet

问题描述 投票:0回答:1

我是 xamarin 新手。我的MyProj.Android项目称为android类库项目MyCls,我在其中处理意图。

基本上创建推送通知消息的意图

MyCls 包含以下功能

//Setting push notification's intent
public static void CreateIntent(string className)
{
    NotificationCompat.Builder builder = new NotificationCompat.Builder(context, MKMessagingServiceConstants.CHANNELID);
    builder.SetContentTitle(title);
    builder.SetContentText(body);

    Intent intent = new Intent(context, Type.GetType(classname) );
    intent.AddFlags(ActivityFlags.ClearTop | ActivityFlags.SingleTop);
    PendingIntent pendingIntent = PendingIntent.GetActivity(context, 0, intent, PendingIntentFlags.OneShot); 
    builder.SetContentIntent(pendingIntent);
    builder.SetPriority(NotificationCompat.PriorityHigh);
    builder.SetAutoCancel(true); //disappear after sometime
    var notificationManager = (NotificationManager)context.GetSystemService(Context.NotificationService);
    notificationManager.Notify(0, builder.Build());

}

MyProj.Android --> MainActivity

public class MainActivity: global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
   protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
            LoadApplication(new App());
    
            MyCls.CreateIntent("MyProj.Droid.TestActivity")
   }
}

问题:Type.GetType(classname) 我正在传递 MyProj.Android 的类名,因此它不会创建(获取值 null )。

Result:需要从MyCls创建意图,这将打开MyProj.Android

的活动
xamarin.forms android-intent xamarin.android
1个回答
0
投票

sudo() { 案例“${1:-}” 重启) echo “您真的确定要这样做吗?” echo "如果是这样,请输入'sudo r-reboot',我会将其传递给您。";; r-重新启动) 转移 命令 sudo restart "$@";; *) 命令须藤“$@” 埃萨克

}

© www.soinside.com 2019 - 2024. All rights reserved.