怎么在broadcastReceiver里面引用Activity?

yhm2046 2019-05-13 09:29:30
我在onReceiver里面需要获取权限,请问该怎么写?
public void onReceive(Context context, Intent intent) {
。。。

String[] StrPermission={Manifest.permission.MOUNT_UNMOUNT_FILESYSTEMS,
Manifest.permission.READ_LOGS,
Manifest.permission.INSTALL_PACKAGES,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.INTERNET};
for (String x:StrPermission) {
int result2=ActivityCompat.checkSelfPermission(context, x);
if (result2 == PackageManager.PERMISSION_GRANTED)
{
Log.i(Constants.TAG,"有权限");
}
else {
Log.i(Constants.TAG,"無权限,開始獲取");
ActivityCompat.requestPermissions((Activity)context, new String[]{x}, 1); //这里的第一个参数需要activity要怎么写?原来是在activity里面写的demo
}
result2=ActivityCompat.checkSelfPermission(context, x);
Log.i(Constants.TAG,"执行完"+x+"权限为--》"+result2);
}
。。。

}
...全文
159 点赞 收藏 6
写回复
6 条回复
yhm2046 2019年05月14日
引用 3 楼 jklwan 的回复:
启动一个空白的Activity再操作。
谢谢指点,已经实现! 参考:https://blog.csdn.net/cqx13763055264/article/details/80037162
回复 点赞
jklwan 2019年05月14日
启动一个空白的Activity再操作。
回复 点赞
yhm2046 2019年05月14日
引用 1 楼 jzp12 的回复:
你这个BroadCastReceive是谁创建的?
系统创建的,我是改的源码,rk3288平台android7.1
回复 点赞
yhm2046 2019年05月14日
引用 5 楼 jzp12 的回复:
空白Activity会影响top位置Activity生命周期, 如果是正在播放视频,则会中断,你确认此情况可以接受?
我只是需要activity获取对象权限进行后台上传操作,代码逻辑如下,请问有何建议:

onReceive(Context context, Intent intent) {
    。。。
   if(action.equals(WP_TAG))
      {Intent intActivity=new Intent(context,LogActivity.class);
              intActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//must set this way!!
              context.startActivity(intActivity);}
}
activity:

                     //1.获取权限
                     //2. catch log
                    //3.新开线程传log到sftp服务器
回复 点赞
jzp12 2019年05月14日
空白Activity会影响top位置Activity生命周期,
如果是正在播放视频,则会中断,你确认此情况可以接受?
回复 点赞
jzp12 2019年05月13日
你这个BroadCastReceive是谁创建的?
回复 点赞
发动态
发帖子
Android
创建于2009-10-09

4.6w+

社区成员

9.0w+

社区内容

移动平台 Android
社区公告
暂无公告