Вопрос

В моей программе он добавляет ярлык на экран.Я вижу значок на экране нормально, но когда я нажимаю на него, я получаю:

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

Вы знаете проблему?Спасибо,
Исаак

Это было полезно?

Решение 2

Разобрался, добавил в раздел <activity> тег активности:

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

Другие советы

Нечто подобное произошло со мной, когда я случайно продублировал тег активности для одного из моих действий в своем манифесте.У меня было что-то подобное в разделе приложений.

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

Когда я удалил второй тег активности, все стало работать нормально.

Что-то вроде этого должно работать:

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

внутри объявления Activity в манифесте.

Я тоже столкнулся с этой проблемой, и оказалось, что это произошло потому, что Activity не было доступно другим процессам.Мне пришлось добавить атрибут android:exported="true" в тег активности в моем манифесте.

Видеть http://developer.android.com/guide/topics/manifest/activity-element.html#exported Чтобы получить больше информации.

Лично я с этим не сталкивался, но провел небольшое исследование и обнаружил следующее.

По-видимому, что бы ни пыталось вызвать ваше приложение или если в вашем приложении есть вызов для создания намерения и запуска действия с каким-либо намерением, UID не тот.

В ActivityManagerServer.java есть следующие оценки.

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

Я собираюсь провести некоторое тестирование и посмотреть, смогу ли я воспроизвести это в тестовом приложении и предоставить дополнительные отзывы.

Убедитесь, что вы пытаетесь вызвать общедоступные действия только с помощью каких-либо намерений.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top