Ich versuche App-Verknüpfungen in meine App zu implementieren, aber ich kann sie nicht arbeiten lassen. Mein shortcut.xml:ActivityNotFoundException: Die Verknüpfung konnte nicht gestartet werden
<Shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<shortcut
android:shortcutId="shortcut"
android:enabled="true"
android:icon="@drawable/ic_shortcut"
android:shortcutShortLabel="@string/shortcut_label">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example"
android:targetClass="com.example.package.Activity"/>
</shortcut>
manifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example">
<application
android:name=".Application"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:resizeableActivity="false"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".package.Activity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/voice_search_params" />
<meta-data android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
</activity>
Also, ich tue Verknüpfung gleiche wie in google Beispiel. Ich kann eine Verknüpfung sehen und anklicken, aber nichts passiert. Ich habe verschiedene Aktivitäten versucht, Aktivität Lage zu ändern, Aktivität Aktion, params, wie „exportiert = true“, aber es ändert sich nichts - in Protokollen kann ich nur
ActivityNotFoundException siehe: Shortcut nicht
gestartet werden konnte
Der einzige Unterschied zwischen meiner Verknüpfung Protokoll und google Kamera Verknüpfung Protokoll ist Pfad Aktivität:
I/Activity: START u0 {act = android.intent.action.VIEW flg = 0x1000c000 cmp = com.example /.Package.Activity}
vs
I/Activity: START u0 {act = android.media.action.STILL_IMAGE_CAMERA flg = 0x1000c000 cmp = com.google.android.GoogleCamera/com.android.camera.activity.CameraImageActivity }
Google Cam hat vollständigen Pfad zur Aktivität, aber Paketpfad unterscheidet.
PS: versuchte heute Google Beispiel, statische App-Verknüpfungen funktioniert nicht in Probe zu. Dynamische App-Verknüpfungen funktionieren gut.
Dies wurde bereits versucht. Hilft nicht. – Anton
Der Grund, warum Sie die ActivityNotFoundException abrufen würden, ist, wenn sich die Aktivität nicht in dem Paket befindet, auf das sie im Manifest verweist. Wie lautet der Paketname, der oben in der Java-Aktivitätsdatei angezeigt wird? –
com.example.package, genau wie im Pfad. Ich habe versucht, vollen Aktivitätsweg zu schreiben, nichts ändert sich. – Anton