2014-04-25 8 views
2

갤럭시 탭 2 (7.0")에서 오디오 잭 카드 판독기 (스퀘어는 아니지만 스퀘어와 같은)를 사용하려고합니다. 그것이 작동하지 않을 때, 뭔가가 오디오 잭에 꽂혀있을 때를 탐지하는 것 외에는 아무것도하지 않는 테스트 앱을 작성했습니다. 앱에 헤드폰을 연결할 때 예상대로 ACTION_HEADSET_PLUG 의도를 수신하지만 카드 리더를 연결할 때 아무 것도 수신하지 않습니다. 다른 제조업체의 다른 리더기를 사용해 보았지만 작동하지 않았습니다. 동일한 결과를 얻은 여러 탭 2를 시도했습니다. 그러나 동일한 테스트 앱은 다른 삼성 기기를 포함하여 다른 Android 기기의 카드 스 와이프에서 ACTION_HEADSET_PLUG을받습니다. 작동하지 않는 유일한 조합은 탭 2가있는 카드 슬쩍입니다.갤럭시 탭 2 (7.0 ")에서 오디오 잭 카드 리더를 감지 할 수 없습니다.

헤드폰과 리더의 플러그는 동일한 수의 도체를 가지며 모든면에서 동일하게 보이며 완전히 모두 삽입되었습니다.

괴상한 장치에 사용 권한이 있어야한다는 것을 알았습니다. 따라서이 문제를 설명 할 수있는 Tab 2만의 고유 한 사용 권한이나 설정을 누군가 알고있는 것이 좋습니다.

내 테스트 애플 리케이션의 유일한 활동

public class MainActivity extends Activity { 

private TextView statusText; 

private final BroadcastReceiver headsetReceiver = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     boolean plugged = (intent.getIntExtra("state", 0) == 1); 
     statusText.setText(plugged ? R.string.status_plugged : R.string.status_unplugged); 
    }  
}; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    statusText = (TextView) findViewById(R.id.statusText); 
} 

@Override 
protected void onPause() { 
    unregisterReceiver(headsetReceiver); 
    super.onPause(); 
} 

@Override 
protected void onResume() { 
    registerReceiver(headsetReceiver, new IntentFilter(Intent.ACTION_HEADSET_PLUG)); 
    super.onResume(); 
} 

} 
+0

스퀘어 리더를 사용하려고하지는 않지만 스퀘어가 Verizon 버전의 Tab 2를 제품과 호환되지 않는 것으로 선택했다는 점은 흥미 롭습니다. https://squareup.com/help/en-us/ article/3887-features-and-device-compatibility –

+0

헤드셋 마이크 조합이 해당 장치에서 오디오의 양방향으로 완벽하게 작동합니까? 나쁜 잭이있는 전화기 하나 이상을 보았습니다. –

+0

음악 플레이어 앱에서 오디오가 재생되는 동안 헤드셋 마이크를 통해 오디오를 녹음하여 하드웨어가 완벽하게 작동하는지 확인했습니다. 저는 4 개의 다른 제조업체의 5 가지 독자를 테스트했으며, 그 중 어느 것도 Verizon Tab2에서 작동하지 않습니다. 두 개는 전혀 꽂혀있는 것으로 감지되지 않습니다. 다른 세 개는 연결되어있는 것으로 감지되지만 해당 SDK는 대화 할 수 없습니다. –

답변