【问题标题】:How do I start an Activity from a Service?如何从服务启动 Activity?
【发布时间】:2011-05-09 01:52:34
【问题描述】:

所以我已经搜索了一周左右,似乎很有可能从Service 开始Activity,事情的一般顺序是这样的:

    Intent myIntent = new Intent();
    myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    myIntent.setComponent(new ComponentName("[package]", "[class]"));
    getApplication().startActivity(myIntent);

从 WallpaperService 尝试此操作时,我收到了似乎是特定于壁纸的错误 requires android.permission.BIND_WALLPAPER。堆栈跟踪显示 startActivity 是罪魁祸首。

我不知道如何授予它这个权限;我已经尝试将android:permission="android.permission.BIND_WALLPAPER" 放在清单中的每个标签上,以及<uses-permission android:name="android.permission.BIND_WALLPAPER" />

值得注意的是,调试视图确实有警告:

WARN/PackageManager(59):未授予权限 android.permission.BIND_WALLPAPER 打包 (protectionLevel=3 flags=0xbe46)

被问到的一般问题在标题中。 提前致谢!

【问题讨论】:

    标签: android service permissions android-activity


    【解决方案1】:

    您只想将 android:permission="android.permission.BIND_WALLPAPER" 放在服务标签中,而不是其他任何地方。

    【讨论】:

      猜你喜欢
      • 2011-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-14
      • 2017-11-23
      相关资源
      最近更新 更多