2010-11-12 143 views
0

所以我一直在寻找周围的一个星期左右,这似乎是完全有可能开始从ServiceActivity,事情会是这样的一般顺序:如何从服务中启动活动?

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 标志= 0xbe46)

被问一般的问题是在标题。 在此先感谢!

回答

3

你想把android:permission =“android.permission.BIND_WALLPAPER”放在服务标签里面,而不是别的地方。