当前位置: 首页 > 知识库问答 >
问题:

如何在我的代码中添加Marshmallow权限来共享一个位置?[副本]

寇宏义
2023-03-14

当我在marshmallow崩溃而不是共享位置上运行此代码时,此代码将在4.4.2上运行。

shar_btn = (Button) findViewById(R.id.shrbtn);

    shar_btn.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View v) {



                        link = formatLocation(getLocation(), getResources().getStringArray(R.array.link_templates)[0]);
                        Intent intent = new Intent();
                        intent.setAction(Intent.ACTION_SEND);
                        intent.putExtra(Intent.EXTRA_TEXT, link);
                        intent.setType("text/plain");
                        startActivity(Intent.createChooser(intent, getString(R.string.share_location_via)));
                    }

                });
      }

共有1个答案

柏正平
2023-03-14

我想它会帮助你在运行时请求许可

if (Build.VERSION.SDK_INT>= Build.VERSION_CODES.M){
        if (ActivityCompat.checkSelfPermission(AboutProduct.this, Manifest.permission.ACCESS_FINE_LOCATION)
                != PackageManager.PERMISSION_GRANTED){
            requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION},1);

            return;
        }
// write your code here 
link = formatLocation(getLocation(), getResources().getStringArray(R.array.link_templates)[0]);
                    Intent intent = new Intent();
                    intent.setAction(Intent.ACTION_SEND);
                    intent.putExtra(Intent.EXTRA_TEXT, link);
                    intent.setType("text/plain");
                    startActivity(Intent.createChooser(intent, getString(R.string.share_location_via)));

    }
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);



}
 类似资料:
  • 我要一个接一个地添加权限。我有6个需要授权许可。我见过这么多的应用程序,其中一个以上的权限要求一次。但我做不到。它只要求一次。我已经添加了5次相同的代码。

  • 问题内容: 我想通过在Plone站点中使用Python脚本设置许多文件夹的共享权限。 问题答案: 您需要查看模块以获取详细信息。Plone中的共享选项卡是该API的友好包装。 要为给定的用户标识添加角色,请致电: 其他两个重要方法是(完全替换当前角色集)和(删除所有角色)。查看已经定义了哪些本地角色也可能很方便。 您希望在进行此类更改后重新索引安全性信息:

  • 我们正在与Unity3d合作开发一个GPS应用程序。< br >在装有Marshmallow 6.0的Android设备上,我们安装它时,它不会要求任何权限。我们已经知道Marshmallow只在运行时请求它们(https://developer . Android . com/training/permissions/requiring . html),但是我们不知道如何修改AndroidMan

  • 我试图制作一个测试应用程序,这样我就可以使用LocationManager,但我甚至无法在运行时通过新的愚蠢的权限请求。我做错了什么,为什么他们让这变得如此混乱/复杂?

  • 请不要标记重复,只需更正我的许可,谢谢

  • 在Android Marshmallow中,当需要权限时,应该在运行时请求权限,而不是在安装应用程序时一次请求所有权限。然而,我似乎只能从活动中请求权限,这是一个问题,因为我的应用程序只包含服务。(你可能会问,这是为什么?该应用程序内置了一个Android Wear watch face,手机只需查找附近的照片即可发送到手表,无需任何活动。但它确实需要位置权限。) 那么,有没有办法向服务请求权限?