java
1@Override 2 public void onCreate(Bundle savedInstanceState) { 3 super.onCreate(savedInstanceState); 4 setContentView(R.layout.activity_main); 5 findViews(); 6 initLocationService(); 7 } 8 9 @Override 10 protected void onResume(){ 11 super.onResume(); 12///////////////////////////////////////////////// 2、この下にエラーがでます。 13 locationManager.requestLocationUpdates( 14 bestProvider, 60000, 1, this); 15 } 16 17 @Override 18 protected void onPause(){ 19 super.onPause(); 20 locationManager.removeUpdates(this); 21 } 22 23 protected void initLocationService(){ 24 locationManager = (LocationManager) 25 getSystemService(LOCATION_SERVICE); 26 27 Criteria criteria = new Criteria(); 28 criteria.setAccuracy(Criteria.ACCURACY_FINE); 29 criteria.setPowerRequirement(Criteria.POWER_MEDIUM); 30 bestProvider = 31 locationManager.getBestProvider(criteria, true); 32 33 if(bestProvider!=null && bestProvider.length()!=0) { 34//3、この下がnullpointerが出ます。 35 provText.setText(bestProvider); 36 } 37 }
2、のエラーです。
「( checkPermission
を使って)権限があるかどうかを明示的にチェックして、潜在的な SecurityException
を明示的に処理する必要があります。less ...(⌘F1)
この検査では、さまざまなサポートアノテーション(RequiresPermissionやUiThreadなど)でアノテーションされたAndroid APIコールを調べ、アノテーションで指定されているとおりにAPIを正しく使用していない呼び出しにフラグを付けます。この検査で警告されるエラーの例:
別のタイプ(R.dimenなど)を必要とするAPIに間違ったタイプのリソース整数(R.stringなど)を渡します。
それを必要とするメソッドで(superを介して)オーバーライドされたメソッドを呼び出すことを忘れる
マニフェストでそのパーミッションを宣言せずにパーミッションが必要なメソッドを呼び出す
リソースの色の参照を、RGB整数値が必要なメソッドに渡します。
...などなど。詳細については、http://developer.android.com/tools/debugging/annotations.htmlのドキュメントを参照してください。」
このようなコードで、下記のようなエラーがでます。
//この下のnullpointerは、解決しました。
java
1E/AndroidRuntime: FATAL EXCEPTION: main 2 Process: com.example.android.sample.provider, PID: 24296 3 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.sample.provider/com.example.android.sample.provider.LocationActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference 4 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 5 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference 6 at com.example.android.sample.provider.LocationActivity.initLocationService(LocationActivity.java:54) 7 8 9
アドバイスをいただけないでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/28 22:54
2017/07/29 00:13
2017/07/29 00:18
2017/07/29 01:47
2017/07/29 01:47