Skip to content

Commit df02353

Browse files
committed
🎨 The purpose of use pops up when applying for camera permission on Android siyuan-note/siyuan#13712
1 parent fc4a400 commit df02353

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

app/src/main/java/org/b3log/siyuan/MainActivity.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import android.annotation.SuppressLint;
2121
import android.app.Activity;
22+
import android.app.AlertDialog;
2223
import android.content.ClipData;
2324
import android.content.ContentValues;
2425
import android.content.Intent;
@@ -88,7 +89,7 @@
8889
* 主程序.
8990
*
9091
* @author <a href="https://88250.b3log.org">Liang Ding</a>
91-
* @version 1.1.0.5, Dec 3, 2024
92+
* @version 1.1.0.6, Jan 3, 2025
9293
* @since 1.0.0
9394
*/
9495
public class MainActivity extends AppCompatActivity implements com.blankj.utilcode.util.Utils.OnAppStatusChangedListener {
@@ -177,6 +178,22 @@ public boolean onShowFileChooser(final WebView mWebView, final ValueCallback<Uri
177178
uploadMessage = null;
178179
return false;
179180
}
181+
182+
if (ContextCompat.checkSelfPermission(MainActivity.this, android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
183+
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
184+
builder.setTitle("权限申请 / Permission Request");
185+
builder.setMessage("需要相机权限以拍摄照片并插入到当前文档中 / Camera permission is required to take photos and insert them into the current document");
186+
builder.setPositiveButton("同意/Agree", (dialog, which) -> {
187+
ActivityCompat.requestPermissions(MainActivity.this, new String[]{android.Manifest.permission.CAMERA}, REQUEST_CAMERA);
188+
});
189+
builder.setNegativeButton("拒绝/Decline", (dialog, which) -> {
190+
Toast.makeText(MainActivity.this, "权限已被拒绝 / Permission denied", Toast.LENGTH_LONG).show();
191+
uploadMessage = null;
192+
});
193+
builder.setCancelable(false);
194+
builder.create().show();
195+
return true;
196+
}
180197

181198
final String[] permissions = {android.Manifest.permission.CAMERA};
182199
if (!hasPermissions(permissions)) {
@@ -535,7 +552,7 @@ public void onRequestPermissionsResult(int requestCode, String[] permissions, in
535552
return;
536553
}
537554

538-
Toast.makeText(this, "Permission denied", Toast.LENGTH_LONG).show();
555+
Toast.makeText(this, "权限已被拒绝 / Permission denied", Toast.LENGTH_LONG).show();
539556
}
540557

541558
super.onRequestPermissionsResult(requestCode, permissions, grantResults);

0 commit comments

Comments
 (0)