teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

エラーメッセージを更新

2017/02/17 09:30

投稿

hinanonano_
hinanonano_

スコア12

title CHANGED
File without changes
body CHANGED
@@ -6,23 +6,17 @@
6
6
  https://akira-watson.com/android/fusedlocationproviderapi.html
7
7
 
8
8
  ###発生している問題・エラーメッセージ
9
- 現在地取得のjavaをIntentで呼び出すとアプリが強制終了してしまいます。
9
+ 現在地取得のjavaを起動とアプリが強制終了してしまいます。
10
10
 
11
11
  エラーメッセージ
12
12
  E/AndroidRuntime: FATAL EXCEPTION: main
13
- Process: myapp.andoroidbook.jp.application2, PID: 16142
14
- android.content.ActivityNotFoundException: Unable to find explicit activity class {myapp.andoroidbook.jp.application2/myapp.andoroidbook.jp.application2.LocationActivity}; have you declared this activity in your AndroidManifest.xml?
15
- at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628)
16
- at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)
17
- at android.app.Activity.startActivityForResult(Activity.java:3424)
18
- at android.app.Activity.startActivityForResult(Activity.java:3385)
19
- at android.app.Activity.startActivity(Activity.java:3627)
20
- at android.app.Activity.startActivity(Activity.java:3595)
21
- at myapp.andoroidbook.jp.application2.EatActivity$2.onClick(EatActivity.java:68)
22
- at android.view.View.performClick(View.java:4438)
23
- at android.view.View$PerformClick.run(View.java:18422)
24
- at android.os.Handler.handleCallback(Handler.java:733)
25
- at android.os.Handler.dispatchMessage(Handler.java:95)
13
+ Process: myapp.andoroidbook.jp.application2, PID: 17662
14
+ java.lang.RuntimeException: Unable to start activity ComponentInfo{myapp.andoroidbook.jp.application2/myapp.andoroidbook.jp.application2.LocateActivity}: java.lang.NullPointerException
15
+ at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
16
+ at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
17
+ at android.app.ActivityThread.access$800(ActivityThread.java:135)
18
+ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
19
+ at android.os.Handler.dispatchMessage(Handler.java:102)
26
20
  at android.os.Looper.loop(Looper.java:136)
27
21
  at android.app.ActivityThread.main(ActivityThread.java:5001)
28
22
  at java.lang.reflect.Method.invokeNative(Native Method)
@@ -30,6 +24,22 @@
30
24
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
31
25
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
32
26
  at dalvik.system.NativeStart.main(Native Method)
27
+ Caused by: java.lang.NullPointerException
28
+ at myapp.andoroidbook.jp.application2.LocateActivity.onCreate(LocateActivity.java:70)
29
+ at android.app.Activity.performCreate(Activity.java:5231)
30
+ at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
31
+ at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
32
+ at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 
33
+ at android.app.ActivityThread.access$800(ActivityThread.java:135) 
34
+ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
35
+ at android.os.Handler.dispatchMessage(Handler.java:102) 
36
+ at android.os.Looper.loop(Looper.java:136) 
37
+ at android.app.ActivityThread.main(ActivityThread.java:5001) 
38
+ at java.lang.reflect.Method.invokeNative(Native Method) 
39
+ at java.lang.reflect.Method.invoke(Method.java:515) 
40
+ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
41
+ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
42
+ at dalvik.system.NativeStart.main(Native Method) 
33
43
 
34
44
  ###該当のソースコード
35
45
  EatActivity.java(略)からLocationActivity.javaをIntentで起動、そこからLocateActivity.javaを起動
@@ -148,33 +158,26 @@
148
158
  public void onCreate(Bundle savedInstanceState) {
149
159
  super.onCreate(savedInstanceState);
150
160
  setContentView(R.layout.activity_locate);
151
-
152
- // Fine か Coarseのいずれかのパーミッションが得られているかチェックする
153
- // 本来なら、Android6.0以上かそうでないかで実装を分ける必要がある
154
161
  if (ActivityCompat.checkSelfPermission(getApplication(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
155
162
  && ActivityCompat.checkSelfPermission(getApplication(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
156
163
 
157
- /** fine location のリクエストコード(値は他のパーミッションと被らなければ、なんでも良い)*/
158
164
  final int requestCode = 1;
159
165
 
160
- // いずれも得られていない場合はパーミッションのリクエストを要求する
161
166
  ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, requestCode );
162
167
  return;
163
168
  }
164
169
 
165
- // 位置情報を管理している LocationManager のインスタンスを生成する
166
170
  LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
167
171
  String locationProvider = null;
168
172
 
169
- // GPSが利用可能になっているかどうかをチェック
170
173
  if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
171
174
  locationProvider = LocationManager.GPS_PROVIDER;
172
175
  }
173
- // GPSプロバイダーが有効になっていない場合は基地局情報が利用可能になっているかをチェック
176
+
174
177
  else if (locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
175
178
  locationProvider = LocationManager.NETWORK_PROVIDER;
176
179
  }
177
- // いずれも利用可能でない場合は、GPSを設定する画面に遷移する
180
+
178
181
  else {
179
182
  Intent settingsIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
180
183
  startActivity(settingsIntent);
@@ -229,8 +232,6 @@
229
232
 
230
233
  ```
231
234
 
232
- ###試したこと
233
- LocationActivity.javaのsetContentView()でブレークポイントをいれるも、ブレークする前に終了しているみたいです。
234
235
 
235
236
  ###補足情報(言語/FW/ツール等のバージョンなど)
236
237