의도 :
종료 할 수없는 단일 용도의 앱을 개발하려고합니다. 그것은 "운영 체제"로 전화에서 실행해야합니다. 이 전화는 추가 목적으로 사용됩니다. 앱은 플레이 스토어에 없으며 최신 버전이있는 경우 업데이트하지 않아도됩니다. 이 목적을 위해 나는 "updater-app"라고 부를 수있는 또 다른 앱을 작성했습니다. 블루투스를 통해이 업데이트를하고 싶습니다. 이미 모든 것을 준비했고 파일 전송 준비가 완료되었습니다. 전화기는 InsecureRfcommSocket으로 연결할 수 있습니다.Android 블루투스 파일 전송 .apk
sendUpdateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mBtService != null) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("application/vnd.android.package-archive");
intent.addCategory(Intent.CATEGORY_OPENABLE);
try {
startActivityForResult(Intent.createChooser(intent, "Choose .apk"), FILE_SELECT_CODE);
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(getApplicationContext(), "No File-Explorer found", Toast.LENGTH_SHORT).show();
}
}
}
});
와 onActivityResult를 :
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == FILE_SELECT_CODE && resultCode == RESULT_OK && data != null) {
Uri selectedFile = data.getData();
try {
byte[] sendingByte = readBytes(selectedFile);
mBtService.send(sendingByte);
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), R.string.transmissionFailed, Toast.LENGTH_SHORT).show();
}
}
}
또한이 코드 바이트로 URI를 변환하는 업데이터 인앱 츄와 미안 함께 보낼의 .apk 파일을 선택 관리
의 readBytes 함수 다음 함수 호출 ConnectedThread되는 mBtService.send(sendingByte)
행과
public byte[] readBytes(Uri uri) throws IOException {
InputStream inputStream = getContentResolver().openInputStream(uri);
ByteArrayOutputStream byteBuffer = new ByteArrayOutputStream();
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
int len = 0;
while ((len = inputStream.read(buffer)) != -1) {
byteBuffer.write(buffer, 0, len);
}
return byteBuffer.toByteArray();
}
:
public void send(byte[] selectedFile) {
try {
mmOutStream.write(selectedFile);
} catch (IOException e) {
e.printStackTrace();
}
}
문제 : I've 방법 바이트를받을 수 없습니다 및 파일/URI로 다시 변환 (아무 생각이 아직)의 .apk를하고 실행하는 내 휴대폰에 저장하는 아무 생각 없어 수신기 전화에서
이 질문의 일부가 아닌 또 다른 버튼이 있습니다.
질문 :
그래서 내 질문이 마무리 의도의 나 관리 수신기 전화 응용 프로그램의 코드에서 무엇을하는 방법 있나요? 관련 코드를 게시하지 못한 경우 죄송합니다. 요청에 추가 할 것입니다. 이 두 가지 앱을 모두 내 프로그램으로 프로그래밍해야하기 때문에 어떤 도움을 주셔서 감사합니다.