3

サードパーティのアプリを呼び出して、独自のアプリを強化したいと考えています。たとえば、アプリのユーザーがCamScannerなどのプログラムを使用して、カメラの代わりに画像をキャプチャできるようにしたいと考えています。アプリの機能を向上させるための意図的な代替手段として適切に機能する、推奨されるサードパーティ アプリを提案できるようにしたいと考えています。

インストール後に公開マニフェストがありますか、Intentsそれとも、サポート対象を示すアプリの Play マーケット ページに何らかの表示がありますか?

4

3 に答える 3

3

アクティビティ名については、システムの設定/アプリケーション画面から確認できます。

いずれにせよ、次のようにメイン アクティビティを呼び出すことができます。

startActivity(getPackageManager().getLaunchIntentForPackage("com.theirpackage"));

さて、明示的に文書化されていない主要でない活動は別の問題です。マニフェスト テキストを取得したとしても、呼び出しプロトコルを理解するのに役立つ場合とそうでない場合があります。アクティビティは、マニフェストに何も記載されていないインテント エクストラに依存している可能性があります。

何があっても、アプリ内のアクティビティが特定の呼び出し順序に依存しているかどうかはわかりません。アクティビティがサード パーティによる再利用のために明示的に構築されていない限り、再利用の準備が整っているかどうかはわかりません。アクティビティが別のアクティビティで初期化された静的変数に依存しているシナリオを簡単に想像できます。この変数は、アプリの通常のフローよりも常に最初に開始されます。依存アクティビティを順不同で呼び出す場合は、クラッシュに備えてください。

とはいえ、アプリの XML マニフェストを取得するのはかなり簡単です。まず、Google マーケットが含まれているエミュレータ イメージ (ネット上で検索してください)、またはルート化されたデバイスを取得します。マーケットからアプリをインストールします。ADBまたは Eclipseを使用してデバイスから APK をプルします。次に、 を使用しapktoolて APK を分解します。マニフェストを読み取り可能な XML 形式に逆コンパイルします。

于 2012-08-24T14:41:54.190 に答える
3

http://openintents.orgがあります - そこにリストされている場合。

于 2012-08-24T14:45:19.643 に答える
0

CamScanner アプリの場合、公開 API が存在します。 https://dev.camscanner.net/

同意書にサインする必要があります。

于 2014-04-02T09:34:27.513 に答える