자바쪽은 공부를 안한데다가(대략 c#과 비슷한정도는 알고있습니다.) 안드로이드쪽으로는 전혀 공부를 안해봤는데.. 이번에 유니티내에서는 지원하지 않는 기능이 있어서 안드로이드 스튜디오에서 플러그인형태로 만들어서 유니티에서 사용하려고 하는데요..
단지 이어폰의 연결유무를 체크하는건데요. 처음한번 실행하고 그다음부터는 연결될때랑 빠질때 이벤트형식으로 알려준다는글을 보고 그대로 해봤는데.
제가 본글이 2014년에 작성된글이라 그동안 많이 바뀌어서 지원하지않는것도 있어서 그런지 여러군데서 에러가 빵빵터지네요..
제가 사용한 코드거든요
package detect.test.com.detect;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.BroadcastReceiver;
public class pluginclass
{
private static IntentFilter mIntentFilter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
private static BroadcastReceiver mBroadcastReceiver = null;
mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent)
{
AudioManager audio = (AudioManager) getSystemService(자바 파일.this.AUDIO_SERVICE);
int systemVolume = audio.getStreamVolume(AudioManager.STREAM_SYSTEM);
boolean isEarphoneOn = (Intent.getIntExtra("state", 0) > 0) ? true : false;
if (isEarphoneOn) {
Log.e("이어폰 log", "Earphone is plugged");
} else {
Log.e("이어폰 log", "Earphone is unPlugged");
}
}
};
registerReceiver(mBroadcastReceiver, mIntentFilter);
}
이렇게 작성을 했는데 어떤부분이 잘못된건지.. 사실 문법은 c#이랑 비슷해서 구조는 어렵지않은데 중간중간 모르는 클래스들이 튀어나오니 정신없네요..