10

在我的程序中,它在屏幕上添加了一个快捷方式。我在屏幕上的图标很好,但是当我点击它时,我得到:

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

你知道问题吗?谢谢,
艾萨克

4

5 回答 5

11

当我不小心在清单中复制了我的一项活动的活动标签时,我遇到了类似的情况。我的应用程序部分有类似的东西。

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

当我删除第二个活动标签时,事情开始正常工作。

于 2010-07-21T03:25:58.517 回答
9

想通了,在<activity>活动标签下添加了这个:

<intent-filter>
<action android:name="android.intent.action.MAIN"></action>
</intent-filter>
于 2009-03-19T04:30:19.097 回答
5

像这样的东西应该工作:

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

在清单中的 Activity 声明中。

于 2009-05-10T00:46:23.113 回答
5

我也遇到了这个问题,原来是因为 Activity 没有暴露给其他进程。我必须将 android:exported="true" 属性添加到清单中的活动标记中。

有关更多信息,请参阅http://developer.android.com/guide/topics/manifest/activity-element.html#exported

于 2011-01-27T16:00:50.113 回答
2

我个人没有遇到过这个问题,但我确实做了一些研究并发现了以下内容。

显然,无论尝试调用您的应用程序,还是您的应用程序调用创建意图并启动某个意图的活动,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;
   }

我将对此进行一些测试,看看我是否可以在测试应用程序中重现它并提供任何额外的反馈。

确保您仅尝试通过任何意图调用公开暴露的活动。

于 2009-03-02T05:10:55.747 回答