为什么我的贴纸应用没有出现在 Gboard 中?

问题描述

我遵循了 this tutorial 并更新了一些语法。当我在虚拟设备(Pixel 2 Android 11)上运行时,该应用程序已安装。点按按钮会给我成功祝酒词“已成功添加贴纸”,贴纸已添加到我的 Gboard。

当我尝试在物理设备(也是 Pixel 2 Android 11)上安装该应用程序时,我得到了同样的成功祝酒词,但在 Gboard 中找不到贴纸。这似乎是那个教程帖子的评论中的常见问题,但作者没有给出答案。

为什么贴纸没有在物理设备上的 Gboard 中显示的核心问题是什么?

编辑:我应该补充一点,该应用程序是通过内部测试安装在物理设备上的,而不是安装在调试环境中。这周我无法使用实体 Android 设备。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.lyra.sooperturkeystickerpack">
    <!-- Grant the AppIndexingUpdateService permission and enable it to run after being triggered -->
    <uses-permission android:name="android.permission.WAKE_LOCK"/>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name="com.lyra.sooperturkeystickerpack.HomeActivity"
            android:exported="true"
            android:label="@string/app_name"
            android:theme="@android:style/Theme.Holo.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.broWSABLE"/>
                <data android:scheme="mystickers"/>
                <data android:host="sooperturkeystickerpack"/>
            </intent-filter>
        </activity>
        <service
            android:name="com.lyra.sooperturkeystickerpack.AppIndexingUpdateService"
            android:exported="false"
            android:permission="android.permission.BIND_JOB_SERVICE"/>
    </application>
</manifest>

AppIndexingUpdateService

public class AppIndexingUpdateService extends JobIntentService {
    // Job-ID must be unique across your whole app.
    private static final int UNIQUE_JOB_ID = 42;

    public static void enqueueWork(Context context) {
        enqueueWork(context,AppIndexingUpdateService.class,UNIQUE_JOB_ID,new Intent());
    }

    @Override
    protected void onHandleWork(@NonNull Intent intent) {
        AppIndexingUtil.setStickers(getApplicationContext(),FirebaseAppIndex.getInstance());
    }
}

AppIndexingUtil

public class AppIndexingUpdateService extends JobIntentService {
    // Job-ID must be unique across your whole app.
    private static final int UNIQUE_JOB_ID = 42;

    public static void enqueueWork(Context context) {
        enqueueWork(context,FirebaseAppIndex.getInstance());
    }
}

家庭活动

public class HomeActivity extends Activity {

    Button mBtnAddSticker;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
        mBtnAddSticker = findViewById(R.id.btn_add_sticker);
        mBtnAddSticker.setonClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                AppIndexingUpdateService.enqueueWork(HomeActivity.this);
            }
        });
    }
}

贴纸

public class Sticker {
    private String mURL;

    public Sticker(String url) {
        this.mURL = url;
    }

    public String getURL() {
        return mURL;
    }

    public void setURL(String mURL) {
        this.mURL = mURL;
    }
}

贴纸数据工厂

public class StickersDataFactory {

    public static List<Sticker> getAllStickerReference() {
        String[] stickerURLRef = {
                "https://firebasestorage.googleapis.com/v0/b/sooperturkey-sticker-pac-b4f0f.appspot.com/o/ssp_10.png?alt=media&token=87a1a3b9-35df-419b-9a4a-c32c9ddd9c0b","https://firebasestorage.googleapis.com/v0/b/sooperturkey-sticker-pac-b4f0f.appspot.com/o/ssp_10.png?alt=media&token=87a1a3b9-35df-419b-9a4a-c32c9ddd9c0b","https://firebasestorage.googleapis.com/v0/b/sooperturkey-sticker-pac-b4f0f.appspot.com/o/ssp_1.png?alt=media&token=b4998d0c-5383-4c70-bcfd-05ca4a3cc0a7","https://firebasestorage.googleapis.com/v0/b/sooperturkey-sticker-pac-b4f0f.appspot.com/o/ssp_2.png?alt=media&token=cc6a371e-7bae-412d-9959-23f82ae507e2","https://firebasestorage.googleapis.com/v0/b/sooperturkey-sticker-pac-b4f0f.appspot.com/o/ssp_3.png?alt=media&token=05cb74b2-47d8-4467-b20b-d0b6eb459f29","https://firebasestorage.googleapis.com/v0/b/sooperturkey-sticker-pac-b4f0f.appspot.com/o/ssp_4.png?alt=media&token=e2c3141d-68b2-4311-9174-0bcf49494467"
        };
        List<Sticker> stickerList = new ArrayList<>();
        for (int i = 0; i < stickerURLRef.length; i++) {
            stickerList.add(new Sticker(stickerURLRef[i]));
        }
        return stickerList;
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)