【问题标题】:Permissions error in my application我的应用程序中的权限错误
【发布时间】:2013-07-05 17:16:47
【问题描述】:

我正在制作一个应用程序。我希望该应用程序在 android 2.2 和更早的设备上自行启用数据连接 (3G)。我添加了权限但我收到错误“权限仅授予系统应用程序”..可以有人告诉我如何克服这个问题。这必须在 NON_ROOTED 电话上工作..这些是我添加的权限

android.permission.CHANGE_NETWORK_STATE

android.permission.CHANGE_NETWORK_STATE    

android.permission.ACCESS_NETWORK_STATE

android.permission.MODIFY_PHONE_STATE

android.permission.READ_PHONE_STATE

如果有任何替代方法,非常欢迎

【问题讨论】:

  • 您尝试在代码中使用哪种方法?
  • @CharlieCollins-我猜是这样。无论如何有什么方法可以从我的应用程序中启用数据
  • 如果您只希望它在 Android 2.2 及更早版本的手机上运行,​​它可能(不确定)。在 > 2.2 上,您不能使用系统应用程序权限(这些权限是为系统应用程序保留的,设备附带的,或由运营商安装在 /system 上,或在有根设备上)。如果您只是在构建时看到错误,然后禁用 LINT 警告/错误,您可能仍然能够在旧设备上安装和运行 APK?
  • 回答您的问题“有什么方法可以从我的应用程序中启用数据”——我当然希望不会。那会很糟糕。您可以告诉用户您的应用需要数据,并将他们带到他们可以启用它的设置对话框,或者决定不启用它,但您不应该被允许控制它(实际上,您不应该试图控制它,因为这可能会花费用户金钱,而且在未经他们同意的情况下接管他们在该级别的设备设置是一件令人讨厌的事情。
  • 感谢您的帮助..我得到了关注,我也知道...问题是我正在尝试制作一个应用程序,可以在丢失时定位您的手机,所以我不想问拥有它来打开数据的人,如果我可以远程启用数据来跟踪手机会更好

标签: android eclipse gprs android-2.2-froyo


【解决方案1】:

我在上一个项目中遇到了这个问题,我们最终不得不使用的方法,同样根据谷歌处理这个问题的方法是在用户面前弹出设置->移动网络活动,这样他就可以明确启用它,不仅是出于需求原因,还出于法律条款问题,因为如果您的应用程序消耗 3G 数据使用户在他不知情的情况下花钱,您可能会遇到法律问题...

问候!

【讨论】:

  • @Martin-thanks mate。很高兴知道我现在可以专注于其他事情了
  • 如果您认为答案完全满足您正在寻找的替代方案,请不要忘记将其标记为正确,以便将来人们花时间回答您的问题...问候!
猜你喜欢
  • 2011-10-15
  • 1970-01-01
  • 2011-11-12
  • 1970-01-01
  • 1970-01-01
  • 2019-10-01
  • 1970-01-01
  • 2018-12-16
  • 2018-09-21
相关资源
最近更新 更多