2009-03-02 18 views
9

In meinem Programm fügt es eine Verknüpfung auf dem Bildschirm. Ich bekomme das Symbol auf dem Bildschirm gut, aber wenn ich klopfe, erhalte ich:Android Homescreen Verknüpfung Erlaubnis Fehler

03-01 20:00:29.410: ERROR/AndroidRuntime(796): java.lang.SecurityException: Permission Denial: starting Intent { data=http://www.example.com/ flags=0x14000000 comp={com.isaacwaller.example/com.isaacwaller.example.ExampleCut} } from ProcessRecord{435c7398 796:android.process.acore/10005} (pid=796, uid=10005) requires null 

Kennen Sie das Problem? Danke,
Isaac

Antwort

9

es herausgefunden, hatte dieses Bild unter <activity> Tag der Tätigkeit:

<intent-filter> 
<action android:name="android.intent.action.MAIN"></action> 
</intent-filter> 
+0

Können Sie uns das komplette (fixe) Mainfest zeigen? –

2

Ich habe nicht persönlich in diese Person geraten, aber ich habe etwas Forschung und fand das folgende.

Offenbar versucht das, was immer versucht, Ihre App aufzurufen, oder wenn Ihre App einen Aufruf zum Erstellen einer Absicht und zum Starten einer Aktivität mit einer bestimmten Absicht hat, ist die UID nicht die gleiche.

In ActivityManagerServer.java gibt es unter Beurteilung darin.

Ich werde einige Tests durchführen und sehen, ob ich dies in einer Testanwendung reproduzieren kann und jede zusätzliche Rückmeldung geben kann.

Stellen Sie sicher, dass Sie nur versuchen, öffentlich exponierte Aktivitäten über beliebige Absichten aufzurufen.

5

So etwas wie dies funktionieren soll: im Manifest

<intent-filter> 
    <action android:name="com.example.Project.Action"/> 
    <category android:name="android.intent.category.DEFAULT"/> 
</intent-filter> 

Innenseite der Aktivität Erklärung.

10

Ich hatte so etwas, wenn ich versehentlich das Aktivitäts-Tag für eine meiner Aktivitäten in meinem Manifest dupliziert hatte. Ich hatte so etwas in meinem Anwendungsabschnitt.

<activity android:name=".ConventionHome" android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

<activity android:name="ConventionHome"></activity> 

Wenn ich den zweiten Aktivitäts-Tag entfernt, begannen Dinge normal arbeiten.

+1

Das hat meinen Fehler behoben, als ich bekam "Anwendung ist nicht auf diesem Telefon installiert". Ich folgte einigen Beispielen aus einem Buch und bemerkte nicht mein Kopier- und Einfügeproblem mit der doppelten Aktivität. schöner Fang! (Wäre noch schöner für: doppelte Aktivität im Manifest) –