2017-04-19 17 views
2

を開始できませんでした私は、API 25アンドロイド7.1アプリケーションのショートカット:活動

からかなり新しい静的なアプリのショートカットを実装しようとしていたときにエラーが発生しておく予想通り、私はショートカットが動作している例のアプリを作ったが、私は自分のアプリでそれらを実装しようとすると、私は、次のエラーを取得しておいてください。

04-19 12:41:06.846 1623-2104/system_process E/LauncherAppsService: Couldn't start activity, code=-2 04-19 12:41:06.850 2090-2090/com.google.android.apps.nexuslauncher E/Launcher: Unable to launch. tag=DeepShortcutsContainer$UnbadgedShortcutInfo(id=-1 type=6 container=-1 screen=-1 cellX=-1 cellY=-1 spanX=1 spanY=1 minSpanX=1 minSpanY=1 rank=0 user=UserHandle{0} title=Declaratie) intent=Intent { act=android.intent.action.MAIN cat=[com.android.launcher3.DEEP_SHORTCUT] flg=0x10200000 pkg=com.company.myapp.debug cmp=com.company.myapp.debug/com.company.myapp.controllers.activity.LoginActivity bnds=[477,516][1023,642] (has extras) } android.content.ActivityNotFoundException: Shortcut could not be started at android.content.pm.LauncherApps.startShortcut(LauncherApps.java:751) at android.content.pm.LauncherApps.startShortcut(LauncherApps.java:717) at com.android.launcher3.shortcuts.DeepShortcutManager.startShortcut(SourceFile:142) at com.android.launcher3.Launcher.startShortcutIntentSafely(SourceFile:2752) at com.android.launcher3.Launcher.startActivitySafely(SourceFile:2841) at com.android.launcher3.Launcher.startAppShortcutOrInfoActivity(SourceFile:2594) at com.android.launcher3.Launcher.onClickAppShortcut(SourceFile:2585) at com.android.launcher3.Launcher.onClick(SourceFile:2406) at android.view.View.performClick(View.java:5637) at com.android.launcher3.shortcuts.DeepShortcutTextView.performClick(SourceFile:81) at android.view.View$PerformClick.run(View.java:22429) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

は、私はこの問題は私のパッケージ構造とは何かを持っていると思います。 以下は私のマニフェストとショートカットxmlです。

マニフェスト:

​​

shortcuts.xml:

<shortcuts 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <shortcut 
     android:shortcutId="declaration" 
     android:enabled="true" 
     android:icon="@drawable/ic_add" 
     android:shortcutShortLabel="@string/shortcut_short_label_declaration" 
     android:shortcutLongLabel="@string/shortcut_long_label_declaration" 
     android:shortcutDisabledMessage="@string/shortcut_disabled_message"> 
     <intent 
      android:action="android.intent.action.VIEW" 
      android:targetPackage="com.company.myapp" 
      android:targetClass="com.company.myapp.controllers.activity.LoginActivity" /> 
     <!-- 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> 
    <!-- Specify more shortcuts here. --> 
</shortcuts> 
+0

。このようにして、 ''にマッチします。それ以外に、「原因」セクションなど、スタックトレースには何かがありますか? – CommonsWare

+0

ショートカットXMLファイル –

+0

のあなたのコードでこの行が見つからないと思うaction.VIEWにアクションを変更しようとしましたが、何もしないようです。 –

答えて

0
<shortcuts 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <shortcut 
     android:shortcutId="declaration" 
     android:enabled="true" 
     android:icon="@drawable/ic_add" 
     android:shortcutShortLabel="@string/shortcut_short_label_declaration" 
     android:shortcutLongLabel="@string/shortcut_long_label_declaration" 
     android:shortcutDisabledMessage="@string/shortcut_disabled_message"> 
     <intent 
      android:action="android.intent.action.VIEW" 
      android:targetPackage="com.company.myapp" 
      android:targetClass="com.company.myapp.controllers.activity.LoginActivity" /> 
     <!-- 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. --> 
      <categories android:name="android.shortcut.conversation" /> 
    </shortcut> 
    <!-- Specify more shortcuts here. --> 
</shortcuts> 
+0

これは何もせず、私が知る限りカテゴリー名は必須ではありません。 –

+0

https://issuetracker.google.com/issues/37124563これが役立つ可能性があります –

1

クラッシュログは "com.company.myapp.debug" としてパッケージ名を示しています。私はあなたのbuild.gradleが "productFlavors"セクションのapplicationId + ".debug"を含んでいると思います。この場合、productFlavorsまたはshortcuts.xmlを変更する必要があります。 `アクション= "android.intent.action.MAIN":アンドロイド`にアクション= "android.intent.action.VIEW" `:あなた` shortcuts.xml`、変更してみてください `アンドロイドで

<shortcuts 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <shortcut 
     android:shortcutId="declaration" 
     android:enabled="true" 
     android:icon="@drawable/ic_add" 
     android:shortcutShortLabel="@string/shortcut_short_label_declaration" 
     android:shortcutLongLabel="@string/shortcut_long_label_declaration" 
     android:shortcutDisabledMessage="@string/shortcut_disabled_message"> 
     <intent 
      android:action="android.intent.action.VIEW" 
      android:targetPackage="com.company.myapp.debug" 
      android:targetClass="com.company.myapp.controllers.activity.LoginActivity" /> 
      <!-- 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> 
    <!-- Specify more shortcuts here. --> 
</shortcuts> 
0
<activity 
    android:name="com.***.Splash" 
    android:label="@string/app_name" 
    android:screenOrientation="portrait" 
    android:theme="@style/Theme.AppCompat.NoActionBar"> 
    <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" /> 
    <intent-filter> 
    <action android:name="android.intent.action.VIEW" /> 
    </intent-filter> 
</activity> 
関連する問題