Android - 尝试启动时出错:ActivityManager:java.lang.SecurityException:Permission Denial

时间:2012-03-07 18:15:06

标签: android android-manifest

我正在尝试关闭我的应用程序,这是日志:

[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 个答案:

答案 0 :(得分:2)

奇怪的是:

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

听起来就像你的应用程序一样。尝试手动部署它或增加versionCode。

尝试

adb install -r

所以即使versionCode等于或高于当前的versionCode

,他也会部署

修改

尝试替换此行

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

这一个:

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

或者包含活动的包裹在哪里。这里重要的是你的活动之前的[。]。如果不知道你的Activity是在root包中。

答案 1 :(得分:0)

确保您在应用程序节点中列出了您的应用程序。我曾经多次尝试弄清楚为什么一个应用程序不会在那么简单的情况下运行。 还要检查你对android.intent.action.SEARCH的活动有一个intent过滤器 并确保你有元过滤器:

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