2017-10-26 4 views
1

にアップデートした後java.lang.NullPointerExceptionが警告を生成することが「振動」:メソッドの呼び出しは、Android Studioの3.0にアップデートした後、私は)この警告に私は(バイブレーションを使用しようとするたびに取得していますAndroidのメーカー3

私は許可を含めました

package com.gavinsappcreations.vibratortest; 

import android.content.Context; 
import android.os.Vibrator; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 
     vibrator.vibrate(100); 

    } 
} 

メソッドの呼び出し 'バイブレーション' 'java.lang.NullPointerExceptionが' ここで

を生成することは、私のコードです

<uses-permission android:name="android.permission.VIBRATE"/> 

また、コードは自分のデバイスで機能します。

+0

詳細コードとエラーログの情報を表示してください。 – KeLiuyue

答えて

2

警告を削除するだけで済みます。

if(vibrator != null) { 
    vibrator.vibrate(100); 
} 

Check Nikolasさんのコメント。

+0

ありがとう!これまでのAndroid Studioのバージョンでこの警告が表示されてしまったので、私はちょっと混乱しました。 –

+1

NOT NULLチェックで警告が修正されますが、「VIBRATOR_SERVICEがない」という前提は間違っています。 IDEは静的なコード分析を実行するだけで、以前のIDEにはより制限があります。 – Nikolas

+0

効果的には、あなたは正しいです。このオブジェクトのドキュメントを読んだら、hasVibrator()メソッドがあります。このメソッドは、このオブジェクトがnullでないことを意味します。 –

関連する問題