默认情况下在包中声明的权限 CAMERA
Posted
技术标签:
【中文标题】默认情况下在包中声明的权限 CAMERA【英文标题】:Declared permisisons CAMERA in package by default 【发布时间】:2020-10-14 04:49:11 【问题描述】:当我第一次安装我的应用程序并尝试使用我的 CAMERA 时,它不会请求许可
我的许可方法
public boolean hasPermissionInManifest(Context context, String permissionName)
final String packageName = context.getPackageName();
try
final PackageInfo packageInfo = context.getPackageManager().getPackageInfo(packageName, PackageManager.GET_PERMISSIONS);
final String[] declaredPermisisons = packageInfo.requestedPermissions;
if (declaredPermisisons != null && declaredPermisisons.length > 0)
for (String p : declaredPermisisons)
if (p.equals(permissionName))
return true;
catch (PackageManager.NameNotFoundException e)
return false;
当我调试我的应用程序时,我发现CAMERA
权限存在于declaredPermisisons
中
AndroidManifest.xml
...
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
...
注意:declaredPermisisons
中的权限
【问题讨论】:
【参考方案1】:我不知道为什么您的代码不起作用,但这是我用于许可的原因:
public class MainActivity extends AppCompatActivity
private static final int REQUEST_PERMISSION_CODE = 1000;
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(!checkPermissionFromDevice())
requestPermission();
private void requestPermission()
ActivityCompat.requestPermissions(this,new String[]
Manifest.permission.CAMERA
,REQUEST_PERMISSION_CODE);
private boolean checkPermissionFromDevice()
int camera = ContextCompat.checkSelfPermission(this,Manifest.permission.CAMERA);
return camera ==PackageManager.PERMISSION_GRANTED;
【讨论】:
感谢您的回答,我稍后再试 成功了,谢谢你,请重新组织你的代码,为什么不支持这个问题 只有padding没整理,还有什么需要整理的?以上是关于默认情况下在包中声明的权限 CAMERA的主要内容,如果未能解决你的问题,请参考以下文章