静态快捷方式android不出现

2020年11月6日 22点热度 0条评论

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

我仔细检查了我的应用程序ID和 Activity 。

这是我尝试的。

我的shortcut.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>

在 list 上我添加

在应用程序和 Activity 上,我还添加了android:exported =“true”

我的代码有什么问题?

在这里编辑我的 list

<?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 声明:

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

解决方案如下:

确保您的xml名称为shortcuts.xml,然后确保将shortcuts.xml添加到具有android.intent.action.MAINandroid.intent.category.LAUNCHER意向过滤器的启动器 Activity 中。
假设它是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" />