2014-02-07 42 views
1

正如標題所示,我正在開發一款應用程序,該應用程序可以與另一個Android手機進行連接和配對。我可以通過藍牙成功掃描,連接,配對和傳輸字符串數據。我通過發送字符串數據進行測試,並在另一臺智能手機上接收並在烤麪包片中顯示。通過藍牙在另一個Android智能手機上啓動應用程序

實際情況

此應用程序將被安裝在兩個Android手機。一旦另一個Android手機掃描並通過藍牙連接到手機,那麼我想推出這個應用程序。我知道我們可以使用BroadcastReceiver完成此項工作。但是,我怎樣才能在藍牙連接方面實現這一點。任何代碼片段或想法或建議,歡迎..

+0

「我想推出這個應用程序」?你的意思是接收BT命令或其他應用程序的應用程序? – NitZRobotKoder

+0

是的,收到BT命令的應用程序.. – YuDroid

+0

看到我的回答會幫助你嗎? – NitZRobotKoder

回答

0

後你得到的BT味精,希望你遵循這個link,在此之後,「//發送字節獲得的UI活動」 發送廣播,開始您的應用程序。

循環播放安裝的應用程序列表,並知道要啓動哪個應用程序,然後使用以下內容啓動應用程序。

public String getPreInstalledPocPkgName(){ 
     String pkgName = null; 
     try { 
      List<PackageInfo> pkgInfoList = mContext.getPackageManager().getInstalledPackages(0); 

      for(PackageInfo pkgInfo:pkgInfoList){ 

       pkgName = pkgInfo.packageName; 

       if(pkgName==null || pkgName.equals("")){ 
        continue; 
       } 
       for(String name:pttPkgList){ 
        if(pkgName.equals(name)){ 
         Log.d(TAG, "------------ app with package name ["+pkgName+"] already installed----------"); 
         return pkgName; 
        } 
       } 
      } 
     } catch (Exception e) { 
      Log.e(TAG, "-------Error! while fetching previously installed app------", e); 
      clearConfigFromSharedPath(); 
     } 
     Log.d(TAG, "------------No previously installed app----------"); 
     return null; 
    } 
} 



    String pttAppPkgName = getPreInstalledPocPkgName(); 
     Or 
     pttAppPkgName = your app package. 
     PackageManager pm = getPackageManager(); 
     Intent intent = pm.getLaunchIntentForPackage(pttAppPkgName); 
     startActivity(intent); 
+0

我知道如何檢索那些在設備上的應用程序,但是如何使用BroadcastReceiver類來啓動它,它在onReceive方法中接收消息?更多的是,這也應該在應用程序處於後臺狀態時完成。我真的很困惑.. – YuDroid

+0

發送BT msg說「startAPP」,一旦你收到它做我的代碼的最後一部分,將啓動你的應用程序。 – NitZRobotKoder

+0

現在檢查答案。 – NitZRobotKoder

相關問題