3

バックグラウンド

Android 7.1 には、「AppShortcut」という新機能が追加されました。ドキュメントでは、静的なものと動的なものを作成する方法が説明されており、サンプル アプリも用意されています。

問題

サンプルを試してみましたが、静的アプリのショートカットをクリックすると、「アプリがインストールされていません」というトーストが表示されることに気付きました。

ここに画像の説明を入力

コードを見ると、疑わしい構成が見つかりました (「shortcuts.xml」ファイル内):

<shortcuts xmlns:android="http://schemas.android.com/apk/res/android" >
    <shortcut
        android:shortcutId="add_website"
        android:icon="@drawable/add"
        android:shortcutShortLabel="@string/add_new_website_short"
        android:shortcutLongLabel="@string/add_new_website"
        >
        <intent
            android:action="com.example.android.appshortcuts.ADD_WEBSITE"
            android:targetPackage="com.example.android.appshortcuts"
            android:targetClass="com.example.android.appshortcuts.Main"
            />
    </shortcut>
</shortcuts>

アプリには "ADD_WEBSITE" というインテント アクションが含まれていないため、見栄えがよくありません。

ダイナミック ショートカットは正常に機能します (MainActivity の通常の起動で追加できます)。

私が試したこと

だから、これは変えたほうがいいと思いました。新しいアクティビティを作成し、この構成を変更してアクティビティ (アクションと targetCalss) に一致させようとしましたが、何らかの理由でまだ同じ toast を取得しました。

質問

コードのどこが間違っている可能性がありますか? それを修正するには何を変更する必要がありますか?

4

2 に答える 2

4

奇妙ですが、
android:targetPackage = "com.example.android.shortcutsample" (applicationid と同じ) または
applicationId "com.example.android.appshortcuts"(パッケージ名と同じ) を変更することでこれを修正できます。

于 2016-10-25T15:10:57.267 に答える
0

「com.example.android.appshortcuts.Main」にはこのアクションがないため

com.example.android.appshortcuts.ADD_WEBSITE

このアクションを次のように変更できます。

android.intent.action.VIEW
于 2016-12-14T12:12:11.680 に答える