gpt4 book ai didi

xamarin - 如何使用Activity属性android :showForAllUsers in Xamarin?

转载 作者:行者123 更新时间:2023-12-05 06:38:33 24 4
gpt4 key购买 nike

该属性未在 Xamarin 中实现。这意味着我不能像它应该的那样将它声明为我的 Activity 类的属性:

[Activity(Label = "@string/app_name", Theme = "@style/MainTheme.StopAlarm", LaunchMode = Android.Content.PM.LaunchMode.SingleTask, ScreenOrientation = Android.Content.PM.ScreenOrientation.Portrait, NoHistory = true)]
public class StopAlarmActivity : Activity
{
...
}

没有 ShowForAllUsers 选项。

另一种选择是编辑 Properties => AndroidManifest.xml 并像这样手动添加事件:

<activity
android:name=".StopAlarmActivity"
android:label="@string/app_name"
android:theme="@style/MainTheme.StopAlarm"
android:showForAllUsers="true">
</activity>

但是一旦我编译最终的 AndroidManifest.xml 文件包含两个声明,一个是手动添加的,一个是从类声明中编译的。

<activity android:name=".StopAlarmActivity" android:label="@string/app_name" android:theme="@style/MainTheme.StopAlarm" android:showForAllUsers="true"></activity>
<activity android:label="@string/app_name" android:launchMode="singleTask" android:noHistory="true" android:screenOrientation="portrait" android:theme="@style/MainTheme.StopAlarm" android:name="md5e24228758d0205525e724fe958bff865.StopAlarmActivity" />

也就是说,看起来唯一的选择是在每次编译后编辑已编译的 AndroidManifest.xml 文件。这是问题的重大突破。

还有什么其他方法可以让我不需要在每次编译应用程序时都记住它?

最佳答案

在您的 Activity 属性上,应用一个 Name 以避免基于 MD5 的 Java 类自动命名:

[Activity(Name = "com.sushihangover.MainActivity")]

在您的 list 中使用相同的完全限定名称(没有缩写的点符号)和您希望应用于此事件的属性:

<activity
android:name="com.sushihangover.MainActivity"
android:showForAllUsers="true"
android:icon="@mipmap/icon"
android:label="MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

注意:此 Activity 的所有属性都需要添加到 list 中,而不是 Activity 类属性。

最终 list 条目将被正确合并:

<activity android:name="com.sushihangover.MainActivity" android:showForAllUsers="true" android:icon="@mipmap/icon" android:label="MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

关于xamarin - 如何使用Activity属性android :showForAllUsers in Xamarin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45827701/

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