动态申请权限闪退问题。

动态申请权限闪退问题。

当我选择取消(动态申请权限成功)然后再下载时候就可以下载了。当我选择去授权就闪退。也没有报错。

private void openAppDetails(){
   AlertDialog.Builder builder=new AlertDialog.Builder(this);
   builder.setMessage("下载需要下载权限!");
   builder.setPositiveButton("去授权", new DialogInterface.OnClickListener() {
       @Override
       public void onClick(DialogInterface dialog, int which) {
           Intent intent=new Intent();
           intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
           intent.addCategory(Intent.CATEGORY_DEFAULT);
           intent.setData(Uri.parse("packge:"+getPackageName()));
           intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
           intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
           intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
           startActivity(intent);
       }
   });
   builder.setNegativeButton("取消",null);
   builder.show();
}



正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你检查下当前运行的android是不是4.4以下,你也可以参考如下代码添加条件限制

if(android.os.Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {
    Intent intent = new Intent();
    intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
    intent.addCategory(Intent.CATEGORY_DEFAULT);
    intent.setData(Uri.parse("packge:" + getPackageName()));
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
    intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
    startActivity(intent);
}


  • 在真机上没一点毛病下载东西还成功了。取消下载就失败。没有一点毛病。这是什么原因?而虚拟机还报了一大堆错误!!!!
    2018-08-24 16:23:00
  • irista23 回复 提问者 曾经的曾经去哪了 #2
    你把取消按钮的处理添加上,现在传的是null~~
    2018-08-24 16:24:59
提问者 曾经的曾经去哪了 2018-08-24 14:37:11

我想知道为啥去正规的授权时候程序就直接闪退了呢?我取消不授权的时候反而它自动授权了呢?

  • 我用logd检测了一遍。是在这一步之前闪退的(改执行这行代码时候程序闪退):startActivity(intent);
    2018-08-24 14:49:05
  • 在网上查的添加<category android:name="android.intent.category.DEFAULT"/>也不行
    2018-08-24 15:17:36
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Android网络操作与数据存储2018版
  • 参与学习           人
  • 提交作业       307    份
  • 解答问题       1613    个

本专题是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理。介绍了Android内外部文件存储、轻量级数据库SQLite的使用。利用屏幕适配、状态保持、百度地图解决实际问题。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师