通过蓝牙在另一个Android智能手机上启动应用程序

时间:2014-02-07 11:46:57

标签: android bluetooth

正如标题所示,我正在开发一款应用程序,它可以与另一部Android手机连接并配对。我可以通过蓝牙成功扫描,连接,配对和传输字符串数据。我通过发送String数据进行测试,并在另一个Android智能手机中接收并在吐司中显示。

实际情况

此应用程序将安装在两款Android手机中。一旦另一个Android手机扫描并通过蓝牙连接到手机,那么我想启动这个应用程序。我知道我们可以使用BroadcastReceiver完成此任务。但是我如何在蓝牙连接方面实现这一点。欢迎任何代码片段或想法或建议..

1 个答案:

答案 0 :(得分: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);