安卓:权限拒绝:需要android.permission.INTERNET权限

3

我知道有很多关于这个问题的帖子,但我还没有解决它。

我有一个非常小的应用程序,基本上只包含一个VideoView小部件。当部署到模拟器上时,一切正常。当我尝试进行设备测试时,我收到了一个异常,基本上是:

 Permission Denial: starting Intent { act=android.intent.action.MAIN
 cat=[android.intent.category.LAUNCHER] flg=0x10000000
 cmp=jfl.projects.fk/.StartupActivity } from null (pid=3903, uid=2000) requires
 android.permission.INTERNET

看完那个错误信息后,我尽可能地往清单文件中添加了许多权限标签(每次只添加一个,每次最后一次添加没有解决任何问题),但是,猜猜怎么着?

这些是我添加的权限:

<uses-permission android:name="android.permission.INTERNET"/>

在清单标记内

android:permission="android.permission.INTERNET"

作为应用程序和活动标签的限定符
清单基本上就是这样。该活动嵌套了一个意图过滤器标记来定义。
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />

但仅限于此。

有没有任何想获得互联网权限却感到被忽视的人?

1个回答

5

去掉android:permission="android.permission.INTERNET"。这意味着主屏幕或其他试图启动您的活动的内容需要该权限。

AndroidManifest.xml文件元素应包含:

    <uses-permission android:name="android.permission.INTERNET"/>

如果您使用Eclipse并点击AndroidManifest.xml,在权限选项卡中点击“添加”,然后选择“使用权限”,选择“android.permission.INTERNET”权限。
Eclipse的AndroidManifest.xml视图中的“应用程序”选项卡有一个“权限”下拉菜单 - 不要使用它。(它是一个误导性的字段)

很酷,这很容易。非常感谢你,也请原谅这个可能相当愚蠢的问题。 - Janis F
@Romiox:你不是第一个犯这个错误的人,我也怀疑你也不会是最后一个。在 <permission>、<uses-permission> 和 android:permission 之间,很容易混淆。 - CommonsWare

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接