Pregunta

En mi programa agrega un acceso directo a la pantalla.Aparece bien el ícono en la pantalla, pero cuando lo toco, aparece:

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

¿Conoces el problema?Gracias,
isaac

¿Fue útil?

Solución 2

Lo descubrí y lo agregué en <activity> etiqueta de actividad:

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

Otros consejos

Sucedió algo como esto cuando dupliqué accidentalmente la etiqueta de actividad para una de mis actividades en mi manifiesto. Tenía algo como esto en la sección de mi aplicación.

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

Cuando eliminé la segunda etiqueta de actividad, las cosas comenzaron a funcionar normalmente.

Algo como esto debería funcionar:

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

dentro de la declaración de Actividad en el manifiesto.

También me encontré con este problema y resultó que se debía a que la Actividad no estaba expuesta a otros procesos.Tuve que agregar el atributo android:exported="true" a la etiqueta de actividad en mi manifiesto.

Ver http://developer.android.com/guide/topics/manifest/activity-element.html#exported para más información.

No me he encontrado con esto personalmente, pero investigué un poco y encontré lo siguiente.

Aparentemente, cualquier cosa que intente invocar su aplicación o si su aplicación tiene una llamada para crear una intención y comenzar una actividad de alguna intención, el UID no es el mismo.

En ActivityManagerServer.java hay un juicio por debajo.

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

Voy a hacer algunas pruebas sobre esto y ver si puedo reproducir esto en una aplicación de prueba y proporcionar comentarios adicionales.

Asegúrese de que solo está intentando invocar actividades expuestas públicamente a través de cualquier intento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top