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

서비스 시작 및 종료 버튼 만들기

0 추천

안녕하세요 배경음악을 나오게 할려 서비스 시작 및 종료버튼을 만들었습니다.

 

그런데 MainActivity.java 에서 아래와 같이 하면 항상 노란색 부분에 빨간 밑줄이 그어 지면서 오류가 납니다.

 

왜 일까요?ㅜㅜ 고수분들의 조언을 구합니다.

 

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        startService(new Intent("com.scribble.analogletter")); //Activity 시작과 함께 배경음악을 재생한다.
        
        Button service_start = (Button)findViewById(R.id.service_start);
    Button service_end = (Button)findViewById(R.id.service_end);
    service_start.setOnClickListener(this);
    service_end.setOnClickListener(this);}
   
   
    public void onClick(View v) {
    if(v.getId() == R.id.service_start){
    startService(new Intent(this, MusicService.class));
    }else if(v.getId() == R.id.service_end){
    stopService(new Intent(this, MusicService.class));
    }
    
        
        Button button= (Button)findViewById(R.id.button);
button.setOnClickListener(new OnClickListener()
{
 
        public void onClick(View v){
        Intent intent = new Intent(MainActivity.this, sheet2.class);
        startActivity(intent);
        }
});
Button button3= (Button)findViewById(R.id.button3);
button3.setOnClickListener(new OnClickListener()
{
 
        public void onClick(View v){
        Intent intent = new Intent(MainActivity.this, sheet14.class);
        startActivity(intent);
        }
});
        
        Button button2= (Button)findViewById(R.id.button2);
    button2.setOnClickListener(new OnClickListener()
    {
   
            public void onClick(View v){
            Intent intent = new Intent(MainActivity.this, sheetz1.class);
            startActivity(intent);
            }
            
        });
   
}
    public boolean onKeyDown(int keyCode, KeyEvent event){
        switch (keyCode){
        case KeyEvent.KEYCODE_BACK:
         exit();
        }
          return super.onKeyDown(keyCode, event);    
    }   
        @SuppressWarnings("deprecation")
public void exit(){
            ActivityManager am = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
            am.restartPackage(getPackageName());
            stopService(new Intent("com.scribble.analogletter")); //종료되면 배경음악이 꺼진다.
    }
    
    
   
Brownjacket (260 포인트) 님이 2014년 8월 21일 질문

1개의 답변

+3 추천
click event 가 전달 받아야 되는 인자가 먼지 먼저 생각해보시고

this 를 넘기려면 activity 에 머가 implements 되어야 되는지 생각해보세요
aucd29 (218,390 포인트) 님이 2014년 8월 21일 답변
service_start.setOnClickListener(this); << 추가 설명(....) 이 액티비티 안에 있는 OnClickEventListener를 service_start에 달아주겠습니다.. 라는 뜻이에요.
...