Question

Dans mon programme, un raccourci est ajouté à l'écran. J'ai bien l'icône à l'écran, mais lorsque je la touche, je reçois:

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

Connaissez-vous le problème? Merci,
Isaac

Était-ce utile?

La solution 2

Je l'ai compris, ajouté ceci sous <activity> balise d'activité:

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

Autres conseils

J'ai eu quelque chose comme cela qui se produisait quand j'avais dupliqué accidentellement l'étiquette d'activité pour l'une de mes activités dans mon manifeste. J'avais quelque chose comme ça dans ma section applications.

<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>

Lorsque j'ai supprimé le deuxième tag d'activité, les choses ont commencé à fonctionner normalement.

Quelque chose comme ça devrait marcher:

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

à l'intérieur de la déclaration d'activité dans le manifeste.

J'ai également rencontré ce problème et il s'est avéré que l'activité n'était pas exposée à d'autres processus. J'ai dû ajouter l'androïde: exporté = & Quot; vrai & Quot; attribuer à la balise d'activité dans mon manifeste.

Voir http://developer.android.com/guide /topics/manifest/activity-element.html#exported pour plus d'informations.

Je ne l'ai pas rencontré personnellement, mais j'ai effectué des recherches et découvert ce qui suit.

Apparemment, peu importe ce qui tente d'appeler votre application ou si votre application est appelée à créer une intention et à démarrer une activité dans ce but, l'UID n'est pas le même.

Dans ActivityManagerServer.java, il existe un jugement inférieur à celui-ci.

int checkComponentPermission(String permission, int pid, int uid, int reqUid)
// If the target requires a specific UID, always fail for others.
   if (reqUid >= 0 && uid != reqUid) {
       return PackageManager.PERMISSION_DENIED;
   }

Je vais faire quelques tests à ce sujet et voir si je peux reproduire cela dans une application de test et fournir tout commentaire supplémentaire.

Assurez-vous que vous essayez uniquement d'invoquer des activités exposées publiquement de manière intentionnelle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top