Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 3b921a2

Browse files
committed
Added Request permissions
1 parent 99d4872 commit 3b921a2

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

‎app/src/main/java/com/example/chatfull/ChatActivity.java‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
package com.example.chatfull;
22

3+
import android.Manifest;
34
import android.app.DownloadManager;
45
import android.content.Context;
56
import android.content.DialogInterface;
67
import android.content.Intent;
78
import android.content.SharedPreferences;
9+
import android.content.pm.PackageManager;
810
import android.content.res.TypedArray;
911
import android.database.Cursor;
1012
import android.graphics.Color;
1113
import android.net.Uri;
14+
import android.os.Build;
1215
import android.os.Bundle;
1316
import android.os.Environment;
1417
import android.os.Handler;
@@ -29,6 +32,7 @@
2932
import androidx.annotation.Nullable;
3033
import androidx.appcompat.app.AppCompatActivity;
3134
import androidx.appcompat.widget.Toolbar;
35+
import androidx.core.app.ActivityCompat;
3236

3337
import com.bumptech.glide.Glide;
3438
import com.flask.colorpicker.ColorPickerView;
@@ -59,6 +63,7 @@ public class ChatActivity extends AppCompatActivity
5963
private static final int PICK_FILE_REQUEST = 1;
6064
private static final int PICK_IMAGE_REQUEST = 2;
6165
private static final byte CONTENT_TYPE_FILE = 1;
66+
private static final int REQUEST_WRITE_EXTERNAL_STORAGE = 200;
6267
private static String PREFERENCE_FILE_KEY;
6368
private final static String SHARED_PREFERENCES_KEY_MESSAGE_LIST = "User_Info_List";
6469
SharedPreferences sharedPref;
@@ -90,6 +95,7 @@ public class ChatActivity extends AppCompatActivity
9095
protected void onCreate(Bundle savedInstanceState) {
9196
super.onCreate(savedInstanceState);
9297
setContentView(R.layout.activity_chat_alternate);
98+
isStoragePermissionGranted();
9399

94100
user = (User) getIntent().getSerializableExtra("user");
95101

@@ -164,6 +170,29 @@ public void loadImage(ImageView imageView, @Nullable String url, @Nullable Objec
164170
}
165171
}
166172

173+
public boolean isStoragePermissionGranted() {
174+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
175+
if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
176+
== PackageManager.PERMISSION_GRANTED) {
177+
return true;
178+
} else {
179+
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_WRITE_EXTERNAL_STORAGE );
180+
return false;
181+
}
182+
}
183+
else { //permission is automatically granted on sdk<23 upon installation
184+
return true;
185+
}
186+
}
187+
188+
@Override
189+
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
190+
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
191+
if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
192+
//resume tasks needing this permission
193+
}
194+
}
195+
167196
private void setClipboard(Context context, String text) {
168197
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) {
169198
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /