2012-01-06 3 views
7
나는 등 브라우저 또는 SMS에서 사용자 복사 아무것도, 텍스트 내가 가진

안드로이드 클립 보드에 방송 수신기

을 보여주는 건배가있을 때 (백그라운드에서 실행됩니다) 간단한 서비스를 만들고 싶어

전화

public class MyPhoneReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 

     Bundle extras = intent.getExtras(); 

     if (extras != null) { 

      // this code is for to accept the telephone call 
      String state = extras.getString(TelephonyManager.EXTRA_STATE); 
      if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) { 
       String phoneNumber = extras.getString(TelephonyManager.EXTRA_INCOMING_NUMBER); 
       Toast.makeText(context, phoneNumber, Toast.LENGTH_SHORT).show(); 
      } 
     } 
    } 
} 

및 manifest.xml

<action android:name="android.intent.action.PHONE_STATE"></action> 

이 코드가있을 때 토스트를 제공이 코드는 지금이 코드는 이제 myreciever 클래스에 모든 전화 상태를 보낼 이야기 클립 보드 관리자로부터 텍스트를 가져오고 싶습니다. 어떤 사람이 텍스트를 복사 할 때 myreciever 클래스를 호출 할 수있는 어떤 intent.action 상태입니까?

어떤 종류의 도움이나 코드라도 감사하겠습니다.

+0

은 어떻게 짓 내가 –

답변

13

클립 보드에 대한 작업 의도가 있기 때문에 장치를 처음 부팅 할 때 앱이 시작될 때 브로드 캐스트 수신기를 만들어서 시작해야합니다. 그런 다음 서비스를 시작하여 클립 보드의 상태를 모니터링합니다.

Google 코드에서 완료해야 할 프로젝트를 정확하게 보여줍니다.

My Clip tutorial

+1

야를 찾을 수 없습니다 때문에 많은 thankx genious 사람 ... : D이 정확히 내가 어떤 문제를 – Iori

+0

필요가 없습니다 것 =) 다행 안녕하세요 –

+0

을 도왔다하기 @ coder_For_Life22 체크 아웃 코드에서 링크를 제공 할 수 없습니다. 링크를 공유 할 수 있습니까? 소스를 dwnld 할 수 있습니까? – Sudarshan

0

는 난 "coder_For_Life22"동의 "을 지금 ... 클립 보드에 대한 조치 의도가 있기 때문에".
"클립 보드"를 모니터링하는 두 가지 방법을 찾았습니다.
"-coder_For_Life22"와 같은 방식입니다.
2 - "ClipboardManager.OnPrimaryClipChangedListener()"메소드 사용.
그러나 둘 다 문제를이 : 사용자가 (심지어 가끔 후 다른 응용 프로그램에서) 다음 "텍스트"예를 들어 단어를 복사하면 다시 같은 단어를 복사 첫 번째 방법에서
을, 당신은 그것을 감지 할 수 없습니다 .
두 번째 방법은 안드로이드 3.0 API 11을 사용하기위한 솔루션입니다. @lori 당신이 나에게 도움이 될