本帖最後由 pizg 於 2013-12-1 10:42 編輯
為了探討 Amarino v2.0.apk 是怎麼寫出來的,今天下午花了一些時間 google 一下 Android apk 檔反編譯的資料,
發現可以依照底下這一篇文章的說明, 逐步將 .apk 檔反編譯成 .jar 網址 http://stackoverflow.com/questions/3593420/android-getting-source-code-from-an-apk-file 個人不敢私藏, 特在此提供給同好參考.
如果你把 Amarino v2.0.apk 反編譯之後, 你將會發現在不使用 Amarino.connect(this, strAddress); 的情況下, 底下的方式也可以對藍芽連線.
- package com.example.rotatephone;
- import android.os.Bundle;
- import android.app.Activity;
- import android.content.Context;
- import android.content.Intent;
- public class MainActivity extends Activity {
- private static final String strAddress = "00:12:06:01:50:75";
-
- private void btConnect(Context context, String s) {
- Intent intent = new Intent("amarino.intent.action.CONNECT");
- intent.putExtra("amarino.intent.extra.DEVICE_ADDRESS", s);
- context.sendBroadcast(intent);
- }
- private void btDisconnect(Context context, String s) {
- Intent intent = new Intent("amarino.intent.action.DISCONNECT");
- intent.putExtra("amarino.intent.extra.DEVICE_ADDRESS", s);
- context.sendBroadcast(intent);
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- }
- @Override
- protected void onStart() {
- super.onStart();
- // Amarino.connect(this, strAddress);
- btConnect(this, strAddress);
- }
- @Override
- protected void onStop() {
- super.onStop();
- // Amarino.disconnect(this, strAddress);
- btDisconnect(this, strAddress);
- }
- }
複製代碼 |