Android 애플리케이션 - 제인, 미 음악 플레이어에 전화 감청 추가
2013년 6월 11일 제인·미 음악 플레이어 2단계 시작
1단계에서는 다음 기능을 완료합니다.
1. 음악 목록 자동 표시
2. 리스트를 클릭하여 음악 재생
3. 리스트를 길게 눌러 팝업 대화 상자
4. 음악을 멈춘다
5. 이전 음악
6. 다음 음악
7. 다음 노래 자동 재생
8. 싱글 루프
9. 모든 순환
10. 랜덤 플레이
2단계에서는 다음 기능을 준비합니다.
1. 가사 표시(가사 스크롤 기능 실현) 이전 블로그 이미 실현
2. 전보로 이 블로그가 말하고자 하는 내용을 감청하는 것은 매우 간단하다
3. 볼륨 조절
4. 앨범 이미지 가져오기
5. 가사
6. 온라인 음악 검색
7. 온라인 음악 다운로드
8. 재밌는 기능 구현-따돌림
9. 인터페이스 미화-앨범 그림자 구현
10. 좌우 인터페이스 전환 실현
11. 알림 표시줄에 재생 상태 보이기
12. 음악 재생을 위한 데스크톱 장치
잠시 이런 기능들을 생각해서 친구들이 조언이 있으면 직접 메시지를 남겨주시면 됩니다.
전화 상태 감청 기능 코드를 붙이기 전에 앱콘stant류도 붙여주세요. 이건 그냥 재생 제어 정보를 저장하는 거예요. 어떤 네티즌이 보자고 하니까 여기에 붙여주세요.
package com.wwj.sb.domain;
/**
*
* @author wwj
*
*/
public class AppConstant {
public class PlayerMsg {
public static final int PLAY_MSG = 1; //
public static final int PAUSE_MSG = 2; //
public static final int STOP_MSG = 3; //
public static final int CONTINUE_MSG = 4; //
public static final int PRIVIOUS_MSG = 5; //
public static final int NEXT_MSG = 6; //
public static final int PROGRESS_CHANGE = 7;//
public static final int PLAYING_MSG = 8; //
}
}
좋아, 소서러의 제인, 미 음악 플레이어를 계속 보완해야 해. 좋은 응용 프로그램은 여러 가지 상황을 고려해야 하기 때문이다. 만약에 음악 플레이어에서 음악을 재생하는 과정에서 전화가 오면'영원히 너에게 전화하지 않을 사람'일 수도 있어. 만약에 이때 너의 음악이 무대 뒤에서 유유하게 재생된다면 너는 미칠 것 같아.영원히 전화 안 할 사람. 진짜 영원히 안 할 수도 있어.여기는 그냥 농담이에요. 그래서 이런 상황을 감안하면 전화가 오기만 하면 플레이어가 잠시 멈춰서 전화를 잘 할 수 있을 거예요.아래의 실현은 매우 간단하고 설명이 많지 않으며 직접 코드에 올린다.1. 권한 추가
<!-- -->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>
2. Telephony Manager 대상을 가져오고listen 방법으로 전보 상태를 감청합니다//
TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); //
telManager.listen(new MobliePhoneStateListener(),
PhoneStateListener.LISTEN_CALL_STATE);
3. 감청 클래스 구현/**
*
* @author wwj
*
*/
private class MobliePhoneStateListener extends PhoneStateListener {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_IDLE: //
Intent intent = new Intent(PlayerActivity.this, PlayerService.class);
playBtn.setBackgroundResource(R.drawable.play_selector);
intent.setAction("com.wwj.media.MUSIC_SERVICE");
intent.putExtra("MSG", AppConstant.PlayerMsg.CONTINUE_MSG); //
startService(intent);
isPlaying = false;
isPause = true;
break;
case TelephonyManager.CALL_STATE_OFFHOOK: //
case TelephonyManager.CALL_STATE_RINGING: //
Intent intent2 = new Intent(PlayerActivity.this, PlayerService.class);
playBtn.setBackgroundResource(R.drawable.pause_selector);
intent2.setAction("com.wwj.media.MUSIC_SERVICE");
intent2.putExtra("MSG", AppConstant.PlayerMsg.PAUSE_MSG);
startService(intent2);
isPlaying = true;
isPause = false;
break;
default:
break;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.