2

我尝试向我的应用程序添加快捷方式,但是当我长按时看不到它。

我仔细检查了我的应用程序 ID,以及活动。

这是我尝试的。

我的快捷方式.xml:

  <shortcut
    android:shortcutId="conso"
    android:enabled="true"
    android:icon="@drawable/ic_budgeting"
    android:shortcutShortLabel="@string/shortcut_conso_short"
    android:shortcutLongLabel="@string/shortcut_conso_long"
    android:shortcutDisabledMessage="@string/shortcut_conso_dissable_message">
    <intent
        android:action="android.intent.action.VIEW"
        android:targetPackage="com.****.stubs_dev.debug"
        android:targetClass="com.******iviConsoActivity" />
    <!-- If your shortcut is associated with multiple intents, include them
         here. The last intent in the list determines what the user sees when
         they launch this shortcut. -->

</shortcut>

在清单上我添加

在应用程序和活动上,我还添加了 android:exported="true"

我的代码有什么问题?

在这里编辑我的清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="****">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 
/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />



<application
    android:name="....."
    android:icon="@mipmap/..."
    android:label="@string/app_name"
    android:networkSecurityConfig="@xml/network_security_config"
    android:resizeableActivity="false"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    android:usesCleartextTraffic="true"
    tools:replace="icon">

……

   <!-- Shortcuts-->
    <meta-data android:name="android.app.shortcuts"
        android:resource="@xml/shortcuts" />
</application>

我的活动声明:

   <activity
        android:name=".****onsoActivity"
        android:screenOrientation="portrait"
        android:exported="true"
        android:theme="@style/AppTheme.NoActionBar"
        >
        <meta-data android:name="android.app.shortcuts"
            android:resource="@xml/shortcuts" />
    </activity>
4

1 回答 1

2

确保您的 xml 名称是shortcuts.xml然后确保您添加shortcuts.xml到具有android.intent.action.MAINandroid.intent.category.LAUNCHER意图过滤器的启动器活动。让我们假设它MainActivity看起来像这样

<activity android:name=".MainActivity">
   <intent-filter>
       <action android:name="android.intent.action.MAIN" />

       <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
   <meta-data android:name="android.app.shortcuts"
       android:resource="@xml/shortcuts" />
于 2020-01-14T13:21:26.833 回答