質問編集履歴

5

コードの変更

2017/07/31 09:23

投稿

atatatatata
atatatatata

スコア77

test CHANGED
File without changes
test CHANGED
@@ -9,58 +9,6 @@
9
9
  とエラーが、onActivityResultに出ます。
10
10
 
11
11
  どうすればいいでしょうか?
12
-
13
- ```java
14
-
15
- private void requestOverlayPermission(){
16
-
17
- Toast toast = Toast.makeText(this, "3、requestOverlayPermission()呼ばれた", Toast.LENGTH_SHORT);
18
-
19
- toast.show();
20
-
21
- if (Build.VERSION.SDK_INT < 23) {
22
-
23
- } else {
24
-
25
- /* android 6 以上 */
26
-
27
- if (!Settings.canDrawOverlays(this)) {
28
-
29
- Intent intent2 = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));
30
-
31
- startActivityForResult(intent2, OVERLAY_PERMISSION_REQ_CODE);
32
-
33
- }
34
-
35
- }
36
-
37
- }
38
-
39
-
40
-
41
- // 結果の受け取り
42
-
43
- @Override
44
-
45
- public void onActivityResult(int requestCode, String[] permissions, int[] grantResults) {
46
-
47
- // public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
48
-
49
-
50
-
51
-
52
-
53
- Toast toast = Toast.makeText(this, "4、結果の受け取り", Toast.LENGTH_SHORT);
54
-
55
- toast.show();
56
-
57
-
58
-
59
- }
60
-
61
- ```
62
-
63
-
64
12
 
65
13
  ```java
66
14
 
@@ -160,13 +108,13 @@
160
108
 
161
109
 
162
110
 
111
+
112
+
163
113
  // 結果の受け取り
164
114
 
165
115
  @Override
166
116
 
167
- public void onActivityResult(int requestCode, String[] permissions, int[] grantResults) {
117
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
168
-
169
- // public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
170
118
 
171
119
 
172
120
 
@@ -174,69 +122,43 @@
174
122
 
175
123
  toast.show();
176
124
 
177
-
178
-
179
- if (requestCode == RESULT_CANCELED) {
180
-
181
- //使用が許可された
182
-
183
- if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
184
-
185
- locationActivity();
186
-
187
- return;
188
-
189
- //
190
-
191
- // if (ActivityCompat.checkSelfPermission(this, Settings.ACTION_MANAGE_OVERLAY_PERMISSION) == PackageManager.PERMISSION_GRANTED) {
192
-
193
- //
194
-
195
- // locationActivity();
196
125
 
197
126
 
198
127
 
199
- }else if(ActivityCompat.checkSelfPermission(this,
200
128
 
129
+ //これは、使えない
130
+
131
+ // public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
132
+
201
- android.Manifest.permission.SYSTEM_ALERT_WINDOW)==PackageManager.PERMISSION_GRANTED){
133
+ //if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
134
+
135
+ //if (ActivityCompat.checkSelfPermission(this, Settings.ACTION_MANAGE_OVERLAY_PERMISSION) == PackageManager.PERMISSION_GRANTED) {
202
136
 
203
137
 
204
138
 
205
- Toast toast1 = Toast.makeText(this, "きたぜ", Toast.LENGTH_SHORT);
206
139
 
207
- toast1.show();
208
140
 
209
- locationActivity();
141
+ if(requestCode==OVERLAY_PERMISSION_REQ_CODE){
210
142
 
211
- } else {
212
143
 
144
+
145
+ if (ActivityCompat.checkSelfPermission(this, Settings.ACTION_MANAGE_OVERLAY_PERMISSION) == PackageManager.PERMISSION_GRANTED) {
146
+
213
- // それでも拒否された時の対応
147
+ locationActivity();
148
+
149
+ }else{
214
150
 
215
151
  Toast toast1 = Toast.makeText(this, "許可をしないと進めません", Toast.LENGTH_SHORT);
216
152
 
217
153
  toast1.show();
218
154
 
219
-
220
-
221
- requestOverlayPermission();
222
-
223
-
224
-
225
155
  }
226
156
 
227
- }else{
228
-
229
- Toast toast1 = Toast.makeText(this, "バージョン?", Toast.LENGTH_SHORT);
230
-
231
- toast1.show();
232
-
233
- }
157
+ }
234
-
235
-
236
158
 
237
159
  }
238
160
 
239
-
161
+
240
162
 
241
163
 
242
164
 
@@ -256,4 +178,10 @@
256
178
 
257
179
  }
258
180
 
181
+
182
+
183
+
184
+
185
+
186
+
259
187
  ```

4

誤字

2017/07/31 09:23

投稿

atatatatata
atatatatata

スコア77

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- ---http://qiita.com/chibatching/items/add5e50921c2da5ee1c7
1
+ > http://qiita.com/chibatching/items/add5e50921c2da5ee1c7
2
2
 
3
3
  このようなサイトを参考にしています
4
4
 

3

誤字

2017/07/31 08:19

投稿

atatatatata
atatatatata

スコア77

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- http://qiita.com/chibatching/items/add5e50921c2da5ee1c7
1
+ ---http://qiita.com/chibatching/items/add5e50921c2da5ee1c7
2
2
 
3
3
  このようなサイトを参考にしています
4
4
 

2

誤字

2017/07/31 08:18

投稿

atatatatata
atatatatata

スコア77

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,9 @@
1
+ http://qiita.com/chibatching/items/add5e50921c2da5ee1c7
2
+
3
+ このようなサイトを参考にしています
4
+
5
+
6
+
1
7
  Method does not override method from its superclass
2
8
 
3
9
  とエラーが、onActivityResultに出ます。

1

コードの全文を載せました。

2017/07/31 08:18

投稿

atatatatata
atatatatata

スコア77

test CHANGED
File without changes
test CHANGED
@@ -53,3 +53,201 @@
53
53
  }
54
54
 
55
55
  ```
56
+
57
+
58
+
59
+ ```java
60
+
61
+ public class CheckOverlayActivity extends Activity {
62
+
63
+
64
+
65
+ private final int OVERLAY_PERMISSION_REQ_CODE=20;
66
+
67
+
68
+
69
+ @Override
70
+
71
+ protected void onCreate(Bundle savedInstanceState) {
72
+
73
+ super.onCreate(savedInstanceState);
74
+
75
+ setContentView(R.layout.activity_check_overlay);
76
+
77
+ Log.d("MainActivity", "onCreate()");
78
+
79
+
80
+
81
+ if(Build.VERSION.SDK_INT >= 23){
82
+
83
+ Toast toast = Toast.makeText(this, "1、checkOverlayPermissin()を呼ぶ", Toast.LENGTH_SHORT);
84
+
85
+ toast.show();
86
+
87
+ checkOverlayPermission();
88
+
89
+ }
90
+
91
+ else{
92
+
93
+ locationActivity();
94
+
95
+ }
96
+
97
+ }
98
+
99
+
100
+
101
+ public void checkOverlayPermission() {
102
+
103
+ if (ActivityCompat.checkSelfPermission(this, Settings.ACTION_MANAGE_OVERLAY_PERMISSION) == PackageManager.PERMISSION_GRANTED) {
104
+
105
+
106
+
107
+ Toast toast = Toast.makeText(this, "すでに許可されてた", Toast.LENGTH_SHORT);
108
+
109
+ toast.show();
110
+
111
+ //コピペ多分間違い
112
+
113
+ locationActivity();
114
+
115
+ }else{
116
+
117
+ Toast toast = Toast.makeText(this, "2、requestOverlayPermission()を呼ぶ", Toast.LENGTH_SHORT);
118
+
119
+ toast.show();
120
+
121
+ requestOverlayPermission();
122
+
123
+ }
124
+
125
+ }
126
+
127
+
128
+
129
+
130
+
131
+ private void requestOverlayPermission(){
132
+
133
+ Toast toast = Toast.makeText(this, "3、requestOverlayPermission()呼ばれた", Toast.LENGTH_SHORT);
134
+
135
+ toast.show();
136
+
137
+ if (Build.VERSION.SDK_INT < 23) {
138
+
139
+ } else {
140
+
141
+ /* android 6 以上 */
142
+
143
+ if (!Settings.canDrawOverlays(this)) {
144
+
145
+ Intent intent2 = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName()));
146
+
147
+ startActivityForResult(intent2, OVERLAY_PERMISSION_REQ_CODE);
148
+
149
+ }
150
+
151
+ }
152
+
153
+ }
154
+
155
+
156
+
157
+ // 結果の受け取り
158
+
159
+ @Override
160
+
161
+ public void onActivityResult(int requestCode, String[] permissions, int[] grantResults) {
162
+
163
+ // public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
164
+
165
+
166
+
167
+ Toast toast = Toast.makeText(this, "4、結果の受け取り", Toast.LENGTH_SHORT);
168
+
169
+ toast.show();
170
+
171
+
172
+
173
+ if (requestCode == RESULT_CANCELED) {
174
+
175
+ //使用が許可された
176
+
177
+ if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
178
+
179
+ locationActivity();
180
+
181
+ return;
182
+
183
+ //
184
+
185
+ // if (ActivityCompat.checkSelfPermission(this, Settings.ACTION_MANAGE_OVERLAY_PERMISSION) == PackageManager.PERMISSION_GRANTED) {
186
+
187
+ //
188
+
189
+ // locationActivity();
190
+
191
+
192
+
193
+ }else if(ActivityCompat.checkSelfPermission(this,
194
+
195
+ android.Manifest.permission.SYSTEM_ALERT_WINDOW)==PackageManager.PERMISSION_GRANTED){
196
+
197
+
198
+
199
+ Toast toast1 = Toast.makeText(this, "きたぜ", Toast.LENGTH_SHORT);
200
+
201
+ toast1.show();
202
+
203
+ locationActivity();
204
+
205
+ } else {
206
+
207
+ // それでも拒否された時の対応
208
+
209
+ Toast toast1 = Toast.makeText(this, "許可をしないと進めません", Toast.LENGTH_SHORT);
210
+
211
+ toast1.show();
212
+
213
+
214
+
215
+ requestOverlayPermission();
216
+
217
+
218
+
219
+ }
220
+
221
+ }else{
222
+
223
+ Toast toast1 = Toast.makeText(this, "バージョン?", Toast.LENGTH_SHORT);
224
+
225
+ toast1.show();
226
+
227
+ }
228
+
229
+
230
+
231
+ }
232
+
233
+
234
+
235
+
236
+
237
+ // Intent でLocation
238
+
239
+ private void locationActivity() {
240
+
241
+ Toast toast = Toast.makeText(this, "5、次の画面へ", Toast.LENGTH_SHORT);
242
+
243
+ toast.show();
244
+
245
+ Intent intent = new Intent(getApplication(), CheckStorageActivity.class);
246
+
247
+ startActivity(intent);
248
+
249
+ }
250
+
251
+ }
252
+
253
+ ```