我知道Android 6.0有新的权限,我知道我可以用这样的东西来调用它们
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) !=
PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[] {
Manifest.permission.WRITE_EXTERNAL_STORAGE
}, PERMISSION_WRITE_STORAGE);
}
Run Code Online (Sandbox Code Playgroud)
今天我看到了一个需要3个权限的Google应用:联系人,短信和相机.它正在制作第1-3页并同时将它们全部调用以激活.
任何人都可以告诉我如何调用4个权限同时激活短信,相机,联系人和存储?
示例(忘记了谷歌应用程序的名称:()
该应用程序需要短信,联系人和相机
应用程序问我(并进行了对话框1-3)激活短信,激活联系人,然后是相机.所以这个谷歌应用程序一起调用所有3个必需的权限,我的问题是我怎么能得到相同的?
java permissions android android-permissions android-6.0-marshmallow
我需要将文件从资产复制到外部存储.这是我的代码:
File f = new File(Environment.getExternalStorageDirectory() + File.separator
+ "MyApp" + File.separator + "tessdata" + File.separator + "eng.traineddata");
if (!f.exists()) {
AssetManager assetManager = getAssets();
try {
f.createNewFile();
InputStream in = assetManager.open("eng.traineddata");
OutputStream out = new FileOutputStream(Environment.getExternalStorageDirectory() + File.separator
+ "MyApp" + File.separator + "tessdata" + File.separator + "eng.traineddata");
byte[] buffer = new byte[1024];
int read;
while ((read = in.read(buffer)) != -1)
out.write(buffer, 0, read);
in.close();
in = null;
out.flush();
out.close();
out = null;
} catch (IOException e) {
Log.e("tag", …
Run Code Online (Sandbox Code Playgroud) 我的应用程序需要访问CAMERA和WRITE_EXTERNAL_STORAGE权限。
一旦我的应用程序加载,我想要求用户一个接一个地允许这两种权限。我有这个代码:
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 2);
}
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, 1);
}
Run Code Online (Sandbox Code Playgroud)
现在一旦我的应用程序加载它会要求第一个权限,但在我再次重新加载整个应用程序之前不会要求第二个权限。
应用程序加载后,如何向用户询问这两个权限?