Android - 尝试添加应用程序快捷方式时出错

Android - Error while trying to add app shortcuts

我的应用有 minSdk = 21 和 targetSdk = 26

我想设置应用快捷方式

我已将 <meta-data> 标记添加到应用程序启动时启动的第一个 activity。

<activity android:name=".SignInActivity"
            android:theme="@style/SubscriptionsTheme.NoActionBar">
            <intent-filter>
                <category android:name="android.intent.category.LAUNCHER" />
                <action android:name="android.intent.action.MAIN"/>
            </intent-filter>
            <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts"/>
        </activity>

然后我创建了 xml-v25 目录并在其中创建了这个 shortcuts.xml 文件:

<shortcuts xmlns:android="http://schemas.android.com/apk/res/android" >
    <shortcut
        android:shortcutId="test"
        android:icon="@drawable/plus"
        android:shortcutShortLabel="test"
        android:shortcutLongLabel="long test" >

        <intent
            android:action="android.intent.action.VIEW"
            android:targetPackage="com.xxxxx.xxxxx.xxxxx"
            android:targetClass="com.xxxxx.xxxxx.xxxxxx.main" />

    </shortcut>
</shortcuts> 

当我尝试构建应用程序时出现以下错误:

Error:error: 'long test' is incompatible with attribute android:shortcutLongLabel (attr) reference. Error:error: 'test' is incompatible with attribute android:shortcutShortLabel (attr) reference. Error:'long test' is incompatible with attribute android:shortcutLongLabel (attr) reference.

希望这对您有所帮助。

strings.xml

 <string name="long_shortcut">long test</string>
  <string name="short_shortcut">test</string>

Manifest.xml

中使用此字符串的引用
<shortcut
        android:shortcutId="test"
        android:icon="@drawable/plus"
        android:shortcutShortLabel="@string/short_shortcut"
        android:shortcutLongLabel="@string/long_shortcut" >

在 java 中,您还可以使用 ShortcutInfo.BuildersetLongLabel (CharSequence longLabel)setShortLabel(CharSequence) 来分配它。