欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

android實現(xiàn)藍牙文件發(fā)送的實例代碼,支持多種機型

 更新時間:2014年01月06日 15:16:40   作者:  
這篇文章主要介紹了android實現(xiàn)藍牙文件發(fā)送的實例代碼,有需要的朋友可以參考一下

最近項目上需要實現(xiàn)藍牙傳輸apk的一個功能,能夠搜索周圍的藍牙手機并分享文件。從需求上講android手機自帶的藍牙傳輸模塊就可以滿足需要了,實現(xiàn)也很簡單。不過讓人頭疼的是,雖然說一般的主流機型都配置有藍牙模塊,但是android機型碎片化太嚴重,不同android版本手機藍牙功能也不一樣。4.0.3以下版本和以上版本使用的藍牙包是不同的,分別是"com.android.bluetooth"和"com.mediatek.bluetooth"。還有一些廠商對藍牙模塊進行的定制修改,比如華為的c8812。另外,android藍牙功能是api5以上才有的,所以android的minSdkVersion要不低于5才行。

網上很多android調用藍牙發(fā)送模塊的例子,完整并且能夠兼容多系統(tǒng)的例子很少,這里發(fā)一個我用在項目中的例子。

復制代碼 代碼如下:

     /**
     * 通過藍牙發(fā)送文件
     */
    private void sendFile(Activity activity) {
        PackageManager localPackageManager = activity.getPackageManager();
        Intent localIntent = null;

        HashMap<String, ActivityInfo> localHashMap = null;

        try {
            localIntent = new Intent();
            localIntent.setAction(Intent.ACTION_SEND);
            File file = new File(TAExternalOverFroyoUtils.getDiskCacheDir(this,
                    Constants.DOWNLOAD_DIR).getAbsolutePath(),
                    TextUtils.genApkName(worm.getWormid()));
            localIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
            // localIntent.putExtra(Intent.EXTRA_STREAM,
            // Uri.fromFile(new File(localApplicationInfo.sourceDir)));
            localIntent.setType("*/*");
            List<ResolveInfo> localList = localPackageManager.queryIntentActivities(
                    localIntent, 0);
            localHashMap = new HashMap<String, ActivityInfo>();
            Iterator<ResolveInfo> localIterator1 = localList.iterator();
            while (localIterator1.hasNext()) {
                ResolveInfo resolveInfo = (ResolveInfo) localIterator1.next();
                ActivityInfo localActivityInfo2 = resolveInfo.activityInfo;
                String str = localActivityInfo2.applicationInfo.processName;
                if (str.contains("bluetooth"))
                    localHashMap.put(str, localActivityInfo2);
            }
        } catch (Exception localException) {
            ToastHelper.showBlueToothSupportErr(activity);
        }
        if (localHashMap.size() == 0)
            ToastHelper.showBlueToothSupportErr(activity);
        ActivityInfo localActivityInfo1 = (ActivityInfo) localHashMap
                .get("com.android.bluetooth");
        if (localActivityInfo1 == null) {
            localActivityInfo1 = (ActivityInfo) localHashMap
                    .get("com.mediatek.bluetooth");
        }
        if (localActivityInfo1 == null) {
            Iterator<ActivityInfo> localIterator2 = localHashMap.values().iterator();
            if (localIterator2.hasNext())
                localActivityInfo1 = (ActivityInfo) localIterator2.next();
        }
        if (localActivityInfo1 != null) {
            localIntent.setComponent(new ComponentName(
                    localActivityInfo1.packageName, localActivityInfo1.name));
            activity.startActivityForResult(localIntent, 4098);
            return;
        }
        ToastHelper.showBlueToothSupportErr(activity);
    }

效果:

相關文章

  • Android本地存儲方法淺析介紹

    Android本地存儲方法淺析介紹

    這篇文章主要介紹了Android本地存儲案例,方法簡單可以實現(xiàn)存儲并達到節(jié)省內存的效果,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-10-10
  • Android自定義PopupWindow簡單小例子

    Android自定義PopupWindow簡單小例子

    這篇文章主要為大家詳細介紹了Android自定義PopupWindow簡單小例子,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android中TextView和ImageView實現(xiàn)傾斜效果

    Android中TextView和ImageView實現(xiàn)傾斜效果

    這篇文章主要為大家詳細介紹了Android中TextView和ImageView實現(xiàn)傾斜效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Kotlin協(xié)程概念原理與使用萬字梳理

    Kotlin協(xié)程概念原理與使用萬字梳理

    協(xié)程的作用是什么?協(xié)程是一種輕量級的線程,解決異步編程的復雜性,異步的代碼使用協(xié)程可以用順序進行表達,文中通過示例代碼介紹詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2022-08-08
  • Android自定義圓形倒計時進度條

    Android自定義圓形倒計時進度條

    這篇文章主要為大家詳細介紹了Android自定義圓形倒計時進度條,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android LayoutTransiton實現(xiàn)簡單的錄制按鈕

    Android LayoutTransiton實現(xiàn)簡單的錄制按鈕

    這篇文章主要介紹了Android LayoutTransiton實現(xiàn)簡單的錄制按鈕,主要實現(xiàn)開始,暫停,停止和顯示錄制時間長度,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 基于Android XML解析與保存的實現(xiàn)

    基于Android XML解析與保存的實現(xiàn)

    本篇文章小編為大家介紹,基于Android XML解析與保存的實現(xiàn)。需要的朋友參考下
    2013-04-04
  • Android開發(fā)基礎使用ProgressBar加載進度條示例

    Android開發(fā)基礎使用ProgressBar加載進度條示例

    這篇文章主要介紹了安卓開發(fā)基礎使用ProgressBar加載進度條示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • android實現(xiàn)簡單拍照功能

    android實現(xiàn)簡單拍照功能

    這篇文章主要為大家詳細介紹了android實現(xiàn)簡單拍照功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Android自定義控件LinearLayout實例講解

    Android自定義控件LinearLayout實例講解

    這篇文章主要為大家詳細介紹了Android自定義控件LinearLayout實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-05-05

最新評論