Android - ошибка при попытке запуска: ActivityManager: java.lang.SecurityException: Отказ в разрешении - PullRequest
0 голосов
/ 07 марта 2012

Я пытаюсь запустить приложение, а это журнал:

[2012-03-07 19:45:12 - hhs] Android Launch!
[2012-03-07 19:45:12 - hhs] adb is running normally.
[2012-03-07 19:45:12 - hhs] Performing hhs.pack.HhsActivity activity launch
[2012-03-07 19:45:15 - hhs] Application already deployed. No need to reinstall.
[2012-03-07 19:45:15 - hhs] Starting activity hhs.pack.HhsActivity on device emulator-5554
[2012-03-07 19:45:16 - hhs] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=hhs.pack/.HhsActivity }
[2012-03-07 19:45:16 - hhs] ActivityManager: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=hhs.pack/.HhsActivity } from null (pid=-1, uid=-1) requires null

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

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="hhs.pack"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:name=".HhsActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Black" >


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

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>
    <service android:name=".Service.SimpleService"></service>

   </application>

</manifest>

Ответы [ 2 ]

2 голосов
/ 07 марта 2012

Странная вещь:

[2012-03-07 19:45:15 - hhs] Application already deployed. No need to reinstall.

Похоже, ваше приложение развернуто. Попробуйте вручную развернуть его или увеличить versionCode.

Попробуйте

adb install -r

, поэтому он будет развернут, даже если versionCode равен или выше вашего текущего versionCode

EDIT

Попробуйте заменить эту строку

<activity android:name="SimpleServiceActivity" android:label="@string/app_name">

с этим:

<activity android:name=".SimpleServiceActivity" android:label="@string/app_name">

Или там, где когда-либо находится пакет с активностью. Важной вещью здесь является [.] Перед вашей деятельностью. Без этого неизвестно, что ваша активность находится в корневом пакете.

0 голосов
/ 07 марта 2012

Убедитесь, что ваше приложение указано в узлах приложения.Я много раз пытался понять, почему приложение не запускается, когда все было так просто.Также убедитесь, что у вас есть фильтр намерений для действия для android.intent.action.SEARCH и убедитесь, что у вас есть мета-фильтры:

        <meta-data android:resource="@xml/searchable" 
        android:name="android.app.searchable"></meta-data>
        <meta-data android:name="android.app.default_searchable"
               android:value=".MyActivity" />
...