마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

이어폰 연결감지를 할수있는 유니티용 플러그인을 만들려고 하는데 도움좀 부탁드립니다.

0 추천

자바쪽은 공부를 안한데다가(대략 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#이랑 비슷해서 구조는 어렵지않은데 중간중간 모르는 클래스들이 튀어나오니 정신없네요..
 
술홍 (230 포인트) 님이 2018년 6월 13일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...