Xamarin 作为启动器放置的内容:启动器收藏夹的类名称

Xamarin 作为启动器放置的内容:启动器收藏夹的类名称,xamarin,xamarin.android,xamarin.forms,Xamarin,Xamarin.android,Xamarin.forms,我的客户希望将我开发的应用程序放在他们的launcher收藏夹中,他们正在询问launcher的包名和类名。 包名非常简单,但类名却不简单,因为如果我查看清单,类名前面会出现如下哈希:md599e47347f20dc18f556aff51bcfbcb1.LaunchScreen 那么,我在launcher favorite中必须使用的类名是什么,是全部还是只有类名LaunchScreen 谢谢(祝贺您进入他们的收藏夹,如果您提供播放链接;-) 正如您所说,包名很简单,它在清单中定义为manife

我的客户希望将我开发的应用程序放在他们的launcher收藏夹中,他们正在询问launcher的包名和类名。 包名非常简单,但类名却不简单,因为如果我查看清单,类名前面会出现如下哈希:md599e47347f20dc18f556aff51bcfbcb1.LaunchScreen

那么,我在launcher favorite中必须使用的类名是什么,是全部还是只有类名LaunchScreen

谢谢

(祝贺您进入他们的收藏夹,如果您提供播放链接;-)

正如您所说,包名很简单,它在清单中定义为
manifest
元素的
package
属性:

<manifest .... package="com.sushihangover.playscriptstarling2" ...>
您的类名是完整的
android:name
属性,因为它不以句点开头。这是生成的唯一子类标识符,因此在我的示例中,这是完整的类名:

md5d2519388ea1895e3e3594794d2e0c4ce.MainActivity
虽然大多数人永远不会看到这个类ID,但我强烈建议您重写这个生成类标识符,并使用包含包名的点类表示法

通常,这是通过使用以句点开头的
android:name
来提供名称来实现的(这是标准的android类命名101;-),但Xamarin目前不支持以w/a点开头的android速记样式的类名,因此您需要在类名中使用完全限定的包名

因此,主要活动属性变为:

[Activity(Label = "PlayScriptStarling2", Name = "com.sushihangover.playscriptstarling2.MyBigBadGameEveryOneShouldPlay", MainLauncher = true, Icon = "@mipmap/icon")]
com.sushihangover.playscriptstarling2.MyBigBadGameEveryOneShouldPlay
生成的清单变成:

<activity android:icon="@mipmap/icon" android:label="PlayScriptStarling2" android:name="com.sushihangover.playscriptstarling2.MyBigBadGameEveryOneShouldPlay">
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>
Android文档:

声明类名

许多元素对应于Java对象,包括应用程序本身的元素(元素)及其主要组件—活动()、服务()、广播接收器()和内容提供者()

如果您定义一个子类,就像您几乎总是为组件类(Activity、Service、BroadcastReceiver和ContentProvider)定义子类一样,子类是通过名称属性声明的。名称必须包括完整的包装名称。例如,服务子类可以声明如下:



Ref:

非常感谢您的完整回答!NP,再次祝贺你是有声望的客户,不是我。如果你知道我的意思的话,这是为了今年夏天在巴西的奥运会。我只是修改了我帖子的开头,因为我甚至不知道我是否被允许谈论它。。。再次感谢您的快速回答!
com.sushihangover.playscriptstarling2.MyBigBadGameEveryOneShouldPlay
<manifest . . . >
    <application . . . >
        <service android:name="com.example.project.SecretService" . . . >
            . . .
        </service>
        . . .
    </application>
</manifest>
<manifest package="com.example.project" . . . >
    <application . . . >
        <service android:name=".SecretService" . . . >
            . . .
        </service>
        . . .
    </application>
</manifest>