2017-12-28 13 views
0

배경에 눌러 진 버튼을 감지하고 소리 등을 재생하는 Android 앱을 제작하려고합니다. 데모를 위해, 나는이 클래스배경 버튼 누름 감지

public class RSSPullService extends IntentService{ 
    public RSSPullService(){ 
     super("Nevermind me"); 
    } 

    @Override 
    protected void onHandleIntent(@Nullable Intent intent) { 

    } 
} 

에이 방법

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    final MediaPlayer abc = MediaPlayer.create(this, R.raw.abc); 
    if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) { 
     abc.start(); 
    } 
    return super.onKeyDown(keyCode, event); 
} 

를 추가하려고 도움이 될 수있는 뭔가가 있나요? 나는 안드로이드 개발과 Java를 처음 접했습니다.

답변

0

터치 방식의 Android 휴대 전화에는 키보드 하드웨어가 없습니다. 어떤 버튼을 누를 지 지정하십시오.

편집 :

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

을하고 다음 메소드를 오버라이드 (override) :

는 매니페스트 헛소리에 다음과 같은 권한을 추가

//To capture any short click of button 
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
if (keyCode == KeyEvent.KEYCODE_POWER) { 
    // this is method which detect press even of button 
    event.startTracking(); // Needed to track long presses 
    return true; 
} 
    return super.onKeyDown(keyCode, event); 
} 


//To capture long press of power button 
@Override 
public boolean onKeyLongPress(int keyCode, KeyEvent event) { 
if (keyCode == KeyEvent.KEYCODE_POWER) { 
    // Here we can detect long press of power button 
    return true; 
} 
    return super.onKeyLongPress(keyCode, event); 
} 
+0

전원 버튼을 더 구체적으로 3 ~ 4 번을 눌렀습니다. –

+0

간단한 것을 물어서 미안하지만, 앱이 최소화되거나 실행되지 않는 백그라운드에서 onKeyDown()을 실행할 수 있도록 도와 줄 수 있습니까? –