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

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 = <!> quot; true <!> quot;属性到我的清单中的活动标签。

请参阅 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