目次
シナリオ
実装メカニズム
Notes
ホームページ ウェブフロントエンド uni-app さまざまなプラットフォームで通話を行うユニアプリの例

さまざまなプラットフォームで通話を行うユニアプリの例

Sep 27, 2020 pm 05:15 PM
uni-app

さまざまなプラットフォームで通話を行うユニアプリの例

シナリオ

アプリで電話をかけるのは比較的一般的なアプリケーション シナリオですが、記事を検索すると、ブログ投稿のほとんどが大学からのものであることがわかりました。アプリ公式 Web サイトのコピー、コピー

uni-app が提供する呼び出しは、ダイヤル インターフェイスの呼び出しに役立つだけであり、直接呼び出しを行うことはできません。Android ネイティブ API は使用できますが、IOS は権限の問題により使用できません

したがって、判断できます。Android の場合は、クリックして電話に直接ダイヤルします。他のプラットフォームの場合は、uni-app のデフォルトの通話ダイヤル インターフェイスを使用します。

実装メカニズム

  • HTML5 plus.device.dial によって提供されるインターフェース この SDK を使用するには、パッケージの導入が必要です
  • # uni-app uni.makePhoneCall によって外部的に提供されるインターフェース
  • IOS と Andriod はネイティブ インターフェイスを提供します - いいえ ネイティブ開発に慣れていない場合は、困難が伴います。
  • モバイル ブラウザの H5 ページ
    <a href="tel: 10086">10086</a>复制代码
    ログイン後にコピー

これ以上ナンセンスではありません。コードの説明に進んでください。 以下は、条件付きコンパイルによる各プラットフォームのコード インターフェイスの実装です。

testDevice.vue

<view>
  <!-- #ifdef APP-PLUS -->
  <button @tap="telphone">拨打电话</button>
  <!-- #endif -->

  <!-- #ifdef H5 -->
  <a href="tel:10086">10086-h5平台下</a>
  <!-- #endif -->
</view>

<script>
  // 对不同的平台有一点区分
  import telphone from &#39;./telphone.js&#39;
  export default {
    methods: {
      telphone() {
        // 通过传递电话参数,调用不同平台拨打电话的功能
        telphone("10086")
      }
    }
  }
</script>复制代码
ログイン後にコピー

読者の注意をそらすことを避けるため、ここではインターフェイスの問題には注意を払いません。 js での実装に焦点を当てます

さまざまなシナリオをサポートするには、条件付きコンパイルを使用する必要があることに注意してください。上記はアプリ側 (IOS および Andriod) であり、以下は通常の h5

telphone .js

//#ifdef H5
import VConsole from &#39;vconsole&#39;

new VConsole()
//#endif

export default (phone) => {
    // 获取设备平台
    let platform = uni.getSystemInfoSync().platform
 
    //#ifdef H5
    // h5环境--浏览器
    let ua = navigator.userAgent.toLowerCase()
    // 就要判断 是微信内置浏览器还是用户的普通浏览器

    if (ua.match(/MicroMessenger/i) == "micromessenger") {
        // 微信浏览器
        console.log(&#39;微信浏览器&#39;)
    } else {
        // 普通浏览器 
    }
    //#endif

    //#ifdef APP-PLUS
    // app环境
    switch (platform) {
        case &#39;android&#39;:
            // 导入Activity、Intent类
            var Intent = plus.android.importClass("android.content.Intent");
            var Uri = plus.android.importClass("android.net.Uri");
            // 获取主Activity对象的实例  
            var main = plus.android.runtimeMainActivity();
            // 创建Intent  
            var uri = Uri.parse("tel:" + phone); // 这里可修改电话号码  
            var call = new Intent("android.intent.action.CALL", uri);
            // 调用startActivity方法拨打电话  
            main.startActivity(call);
            break;
        case &#39;ios&#39;:
            // 使用uni-app提供的借口
            uni.makePhoneCall({
                phoneNumber: phone
            })
            break;
        default:
            // 调试器工具
    }
    //#endif
}复制代码
ログイン後にコピー

Notes

  • 条件付きコンパイル、VConsole を使用する場合、条件付きコンパイルを使用しない場合、アプリ側でエラーが報告されます
  • if 判定には import 文を書かないように注意してください 三眼動作中にエラーが報告されます ES6 モジュールロードの仕組みを理解するには
  • uni-app が提供するインターフェースを使用して、それがどうかを判断してくださいアプリプラットフォーム (IOS または Andriod) 通常のブラウザと WeChat ブラウザを区別するにはどうすればよいですか? 条件付きコンパイルに依存します
  • uni-app が提供する API 実装であっても、Android SDK であっても、電話を切った後も、アプリのインターフェイスにコールバックされます
  • plus.device.dial には、対応する SDK を導入する必要があります。実際には、これを決定するには条件付きコンパイルが必要です。現在の環境は以上です 実際はvconsoleの導入と同じです

##その他の記事はuni-app欄をご覧ください!

以上がさまざまなプラットフォームで通話を行うユニアプリの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

VSCode でユニアプリを開発するにはどうすればよいですか? (チュートリアルの共有) VSCode でユニアプリを開発するにはどうすればよいですか? (チュートリアルの共有) May 13, 2022 pm 08:11 PM

VSCode でユニアプリを開発するにはどうすればよいですか?次の記事では、VSCode でのユニアプリ開発に関するチュートリアルを紹介します。これは、おそらく最も詳細なチュートリアルです。ぜひ見に来てください!

uniapp を使用してシンプルなマップ ナビゲーションを開発する uniapp を使用してシンプルなマップ ナビゲーションを開発する Jun 09, 2022 pm 07:46 PM

uniapp を使用してシンプルなマップ ナビゲーションを開発するにはどうすればよいですか?この記事では簡単な地図の作り方を紹介しますので、ぜひ参考にしてください。

uniapp を使用してスネーク ゲームを開発する方法について話しましょう。 uniapp を使用してスネーク ゲームを開発する方法について話しましょう。 May 20, 2022 pm 07:56 PM

uniapp を使用してスネーク ゲームを開発するにはどうすればよいですか?次の記事では、Uniapp に Snake ゲームを実装する手順を段階的に説明します。お役に立てば幸いです。

ユニアプリ カレンダー プラグインを開発 (および公開) する手順を段階的に説明します。 ユニアプリ カレンダー プラグインを開発 (および公開) する手順を段階的に説明します。 Jun 30, 2022 pm 08:13 PM

この記事では、ユニアプリ カレンダー プラグインの開発をステップごとに説明し、次期カレンダー プラグインの開発からリリースまでの手順を紹介します。

uni-app vue3 インターフェイスリクエストをカプセル化する方法 uni-app vue3 インターフェイスリクエストをカプセル化する方法 May 11, 2023 pm 07:28 PM

uni-app インターフェイス、グローバル メソッドのカプセル化 1. ルート ディレクトリに API ファイルを作成し、API フォルダーに api.js、baseUrl.js、および http.js ファイルを作成します。 2.baseUrl.js ファイル コード exportdefault"https://XXXX .test03.qcw800.com/api/"3.http.js ファイル コードexportfunctionhttps(opts,data){lethttpDefaultOpts={url:opts.url,data:data,method:opts.method

uniapp が複数選択ボックスの全選択機能を実装する方法を説明する例 uniapp が複数選択ボックスの全選択機能を実装する方法を説明する例 Jun 22, 2022 am 11:57 AM

この記事では、uniapp に関する関連知識を提供します。主に、複数選択ボックスの全選択機能の実装に関する問題を整理します。全選択機能が実装できない理由は、チェックボックスのチェックされたフィールドがオンになっている場合です。動的に変更されると、インターフェイス上のステータスはリアルタイムに変更されますが、checkbox-group の変更イベントはトリガーされません。

uniapp のスクロールビュー ドロップダウンの読み込みについて話しましょう uniapp のスクロールビュー ドロップダウンの読み込みについて話しましょう Jul 14, 2022 pm 09:07 PM

uniapp はスクロールビューのドロップダウン読み込みをどのように実装しますか?次の記事では、uniapp WeChat アプレットのスクロールビューのドロップダウン読み込みについて説明しています。

uniapp が電話録音機能を実装する方法の詳細な例 (コード付き) uniapp が電話録音機能を実装する方法の詳細な例 (コード付き) Jan 05, 2023 pm 04:41 PM

この記事では、uniapp に関する関連知識を皆さんに提供します。主に uniapp を使用して電話をかける方法と同期録音する方法を紹介します。興味のある友人はぜひご覧ください。皆様のお役に立てれば幸いです。

See all articles