gpt4 book ai didi

c# - 从其他应用程序的入口点启动应用程序android

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:00:12 25 4
gpt4 key购买 nike

我有 xamarin.android 项目 Client1 和 1 CommonApp 项目(在同一解决方案中),它们具有所有通用代码。从 Client1 项目我需要启动 CommonApp,我的代码在 Client1 应用程序中执行此操作

public class MainActivity : AppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.activity_main);
FindViewById<Button>(Resource.Id.btn1).Click += delegate {

//Starting CommonApp project
StartActivity(new Intent(Application.Context, typeof(CommonApp.MainActivity)));
};
}
}

下面的 1 是 CommonApp MainActivity,其中调试器指向但没有开始新的 Activity ,但是当我按下物理后退按钮时相同的 Activity 被添加到后台堆栈中,它正在被删除。

protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
//This is CommonApp
SetContentView(Resource.Layout.activity_main);
}

CommonApp activity_main 有

 <TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="This is CommonApp">
</TextView>

描述:我有 2 个安卓应用程序的解决方案。 1 CommonApp 和第二个客户端 1。 Cleint1 是具有 CommonApp 类型的 .dll 的启动项目。从 Cleint1 应用程序,我通过导入 CommonApp 命名空间来启动 CommonApp。我可以拥有许多项目 Client1、Client2、Client3...等,它们具有自己的图标、应用程序名称、启动画面和 google-service.json。当我在启动时设置 Client2 时,它变成了 Client2 项目和 CommonApp 中可用的所有通用代码。

要求:Here

输出截图 enter image description here

应用日志

Log

更新的截图:

enter image description here

最佳答案

我认为 CommonApp Activity 实际上已启动(如调试器所示),但它没有使用正确的布局文件。两个 MainActivity(来自 CommonApp 的那个和来自 Client1 的那个)都使用名为 activity_main 的布局。所以这两个项目都包含一个 activity_main.xml 文件,而且似乎一个(来自 Client1 项目)覆盖了另一个。

资源没有命名空间,您需要重命名布局(以及您希望保持不同的任何其他资源)以避免冲突。您可以添加前缀,例如common_activity_mainclient_activity_main

已编辑(来自评论的附加信息):

包含公共(public)部分的项目应该是Android 类库,而不是Android 应用。否则它似乎可以工作(没有构建错误)但 APK 中不存在布局文件。

关于c# - 从其他应用程序的入口点启动应用程序android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51096346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com