質問編集履歴

7

コードの追加

2017/05/01 16:32

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -192,4 +192,114 @@
192
192
 
193
193
  ```
194
194
 
195
+ ```java
196
+
197
+ @Override
198
+
199
+ public void onConnectionFailed(ConnectionResult connectionResult) {
200
+
201
+ if (mResolvingError) {
202
+
203
+ System.out.println("mResolveingErrorあああああああああああああ");
204
+
205
+ return;
206
+
207
+ } else if (connectionResult.hasResolution()) {
208
+
209
+ try {
210
+
211
+ System.out.println("connectionResult.hasResolutionやああああああああ");
212
+
213
+ mResolvingError = true;
214
+
215
+ connectionResult.startResolutionForResult(this, REQUEST_RESOLVE_ERROR);
216
+
217
+ } catch (IntentSender.SendIntentException e) {
218
+
219
+
220
+
221
+ System.out.println("connect");
222
+
223
+ mGoogleApiClient.connect();
224
+
225
+ }
226
+
227
+ } else {
228
+
229
+ showErrorDialog(connectionResult.getErrorCode());
230
+
231
+ mResolvingError = true;
232
+
233
+ System.out.println("elseやあああああああああああああ");
234
+
235
+ }
236
+
237
+ }
238
+
239
+
240
+
241
+ private void showErrorDialog(int errorCode) {
242
+
243
+ System.out.println("showErrorDialogやああああああいいいいいいいいいいい");
244
+
245
+ ErrorDialogFragment dialogFragment = new ErrorDialogFragment();
246
+
247
+ Bundle args = new Bundle();
248
+
249
+ args.putInt(DIALOG_ERROR, errorCode);
250
+
251
+ dialogFragment.setArguments(args);
252
+
253
+ dialogFragment.show(getSupportFragmentManager(), "errordialogあああああああああああああああああああ");
254
+
255
+ }
256
+
257
+
258
+
259
+ public void onDialogDismissed() {
260
+
261
+ System.out.println("onDialogDismissedでいいいいいいいいいいいいいいい");
262
+
263
+ mResolvingError = false;
264
+
265
+ }
266
+
267
+
268
+
269
+ public static class ErrorDialogFragment extends DialogFragment {
270
+
271
+ public ErrorDialogFragment() {
272
+
273
+ }
274
+
275
+
276
+
277
+ @Override
278
+
279
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
280
+
281
+ int errorCode = this.getArguments().getInt(DIALOG_ERROR);
282
+
283
+ return GoogleApiAvailability.getInstance().getErrorDialog(
284
+
285
+ this.getActivity(), errorCode, REQUEST_RESOLVE_ERROR);
286
+
287
+ }
288
+
289
+
290
+
291
+ @Override
292
+
293
+ public void onDismiss(DialogInterface dialog) {
294
+
295
+ ((LocationActivity) getActivity()).onDialogDismissed();
296
+
297
+ System.out.println("onDialogDismissedううううううううううううううううううう");
298
+
299
+ }
300
+
301
+ }
302
+
303
+ ```
304
+
195
305
  電波が悪く2度質問ボタンををしたところ2度質問してしまいました。すみません。

6

誤字

2017/05/01 16:32

投稿

edoooooo
edoooooo

スコア476

test CHANGED
@@ -1 +1 @@
1
- Androidで実機で戻るボタンを押すと、レイアウトが変わり、IllegalStateException:GoogleApiClientが出ます。
1
+ AndroidでIllegalStateException:GoogleApiClientが出ます。
test CHANGED
@@ -1,12 +1,4 @@
1
- 戻るボタンを押すと、レイアウトが変わり、コメント投稿ボタンは押せなくなり、gpsのon/offスイッチを押すと、そのようなボタンはありませんと強制終了します。
2
-
3
- そして、spinnerも表示されなくなります。
4
-
5
- このようにレイアウトがおかしくなる場合と、
6
-
7
-
8
-
9
- 戻るボタンを押して、先ほどと同じ状態となった直後に、if (currentLocation!=null)で、elseへと、移動し、そこで、
1
+ if (currentLocation!=null)で、elseへと、移動し、そこで、
10
2
 
11
3
  try{}catch{}で、
12
4
 

5

追加

2017/05/01 15:45

投稿

edoooooo
edoooooo

スコア476

test CHANGED
@@ -1 +1 @@
1
- Androidでエラーにバックグランドから戻ったときにIllegalStateException:GoogleApiClientが出ます。
1
+ Androidで実機で戻るボタンを押すとレイアトが変わり、IllegalStateException:GoogleApiClientが出ます。
test CHANGED
@@ -1,26 +1,32 @@
1
+ 戻るボタンを押すと、レイアウトが変わり、コメント投稿ボタンは押せなくなり、gpsのon/offスイッチを押すと、そのようなボタンはありませんと強制終了します。
2
+
1
- バックグラウンドから戻ると例外が発生します。
3
+ て、spinnerも表示されなくなります。
4
+
2
-
5
+ このようにレイアウトがおかしくなる場合と、
6
+
7
+
8
+
9
+ 戻るボタンを押して、先ほどと同じ状態となった直後に、if (currentLocation!=null)で、elseへと、移動し、そこで、
10
+
3
- try{}catch{}で
11
+ try{}catch{}で、
4
-
12
+
5
- java.lang.IllegalStateException:GoogleApiClientが接続されていませんと、表示されますが、permissionはManifest.xmlでは、
13
+ java.lang.IllegalStateException:GoogleApiClientが接続されていませんと、表示されます
14
+
6
-
15
+ また、
16
+
7
- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
17
+ onConnected()が呼び出された時に、isConnected()をしたのですが、trueが返され、接続されていることがわかりました。
8
-
9
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
18
+
10
-
11
- このように書いています。
12
-
13
- エラーは、バックグラウンドから戻ったときに限って発生します。
14
-
15
- バックグラウンドから戻った時にエラーを発生しないようにしたいのですが、
19
+ 戻った時にエラーを発生しないようにしたいのですが、
16
-
17
- バックグラウンドから戻る時に必要な記述がされていないということなのでしょうか?
20
+
18
-
19
- アドバイスをいただけないでしょうか?
21
+ どうすれば良いのでしょうか?アドバイスをいただけないでしょうか?
22
+
20
-
23
+ また、なぜ、currentLocationがnullとなってしまうのでしょうか?
21
-
22
-
24
+
25
+
26
+
23
- //この下のコードをonCreate()からonStartに移動しました。
27
+ //この下のコードをonCreate()からonStartに移動しまし、戻るボタンを押して、onCreateに記載してい初期化を、onStartに記載することで、再生成されるようにしました
28
+
29
+
24
30
 
25
31
  ```java
26
32
 

4

コードの追加

2017/05/01 14:22

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -75,6 +75,38 @@
75
75
  ```
76
76
 
77
77
  ```java
78
+
79
+ @Override
80
+
81
+ public void onConnected(Bundle bundle) {
82
+
83
+ Log.d("LocationActivity", "onConnected");
84
+
85
+
86
+
87
+ Log.d("---googleconectでよばれた---", "onConnected()到着");
88
+
89
+
90
+
91
+
92
+
93
+ if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) !=
94
+
95
+ PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) !=
96
+
97
+ PackageManager.PERMISSION_GRANTED) {
98
+
99
+ return;
100
+
101
+ }
102
+
103
+
104
+
105
+ //これ追加
106
+
107
+ fusedLocationProviderApi = LocationServices.FusedLocationApi;
108
+
109
+
78
110
 
79
111
  Location currentLocation = fusedLocationProviderApi.getLastLocation(mGoogleApiClient);
80
112
 

3

誤字

2017/05/01 13:26

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -19,6 +19,8 @@
19
19
  アドバイスをいただけないでしょうか?
20
20
 
21
21
 
22
+
23
+ //この下のコードをonCreate()からonStartに移動しました。
22
24
 
23
25
  ```java
24
26
 

2

コードの追加

2017/05/01 04:05

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -21,6 +21,62 @@
21
21
 
22
22
 
23
23
  ```java
24
+
25
+ //このようにGoogpeApiClientを生成しております。
26
+
27
+ startFusedLocation();
28
+
29
+ private void startFusedLocation() {
30
+
31
+ Log.d("fusedLocation", "よばれた");
32
+
33
+
34
+
35
+ if (!mResolvingError) {
36
+
37
+
38
+
39
+ Log.d("---googleconectよぶ---", "mGoogleconnect");
40
+
41
+
42
+
43
+ mGoogleApiClient = new GoogleApiClient.Builder(this)
44
+
45
+ .addApi(LocationServices.API)
46
+
47
+ .addConnectionCallbacks(this)
48
+
49
+ .addOnConnectionFailedListener(this)
50
+
51
+ .build();
52
+
53
+
54
+
55
+ mGoogleApiClient.connect();
56
+
57
+
58
+
59
+ Log.d("onStart()","connect()");
60
+
61
+
62
+
63
+ } else {
64
+
65
+ Log.d("onStart()","mResolvingError");
66
+
67
+ }
68
+
69
+
70
+
71
+ }
72
+
73
+ ```
74
+
75
+ ```java
76
+
77
+ Location currentLocation = fusedLocationProviderApi.getLastLocation(mGoogleApiClient);
78
+
79
+
24
80
 
25
81
  if (currentLocation != null && currentLocation.getTime() > 20000) {
26
82
 

1

まちがい

2017/05/01 04:03

投稿

edoooooo
edoooooo

スコア476

test CHANGED
File without changes
test CHANGED
@@ -103,3 +103,5 @@
103
103
  }
104
104
 
105
105
  ```
106
+
107
+ 電波が悪く2度質問ボタンををしたところ2度質問してしまいました。すみません。