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

时间:2017-10-09 10:19:20

标签: android android-shortcut

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

我想设置应用程序快捷方式

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

<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> 

当我尝试构建应用时,我收到以下错误:

  

错误:错误:&#39;长测试&#39;与属性不兼容   android:shortcutLongLabel(attr)引用。       错误:错误:&#39;测试&#39;与属性android:shortcutShortLabel(attr)引用不兼容。       错误:&#39;长时间测试&#39;与属性android:shortcutLongLabel(attr)reference。

不兼容

1 个答案:

答案 0 :(得分:7)

希望这会有所帮助。

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中,您还可以使用setLongLabel (CharSequence longLabel)的{​​{1}}和setShortLabel(CharSequence)来分配此内容。