2011-07-26 26 views
0

私はインテントを使用して特定のタスクを達成するために外部アクティビティを使用できることを理解していますが、私の質問は外部アクティビティをプロジェクト自体に含めることができるかどうかです。外部のAndroidアプリケーションアクティビティ(または外部アプリケーションを完全に)をメインアプリケーションの依存関係として含めるにはどうすればよいですか?

たとえば、チェックイン機能を自分のアプリケーションに組み込み、google plusにこの素晴らしいチェックインアクティビティがあることがわかっている場合、その特定のチェックインアクティビティを自分のアプリケーションで使用することは可能でしょうか?

答えて

0

あなたはその活動の意図が必要です。 G +アプリをインストールしている場合は、インストールしたインテントのリストを繰り返して、一致するものを見つける必要があります。

List<ResolveInfo> IntentsList= getPackageManager().queryIntentActivities(new Intent(Intent.ACTION_MAIN, null).addCategory(Intent.CATEGORY_LAUNCHER), 0); 

addCategory

でPackageManager.PERMISSION_GRANTED = 0 addCategory()メソッドの第1引数は、意図カテゴリがCATEGORY_LAUNCHERCATEGORY_ALTERNATIVEまたは最も可能性の高いCATEGORY_DEFAULTなるためにあなたに必要な意図であるかどうかによって異なります。インテント名がわかっている場合は、アクティビティでそのインテント名を呼び出すことができ、アプリケーションにアクティビティとして明示的に追加することもできます。

0

使いたい外部アプリのライブラリプロジェクトがあれば、簡単な答えは「はい」です。これは一般的に最良の解決策ではありません。なぜなら、ソース(大きなif)を取得してからユーザーがアプリケーションをダウンロードした場合、(明示的なインテントを使用しなかった場合)インテントを完了するアプリを選択する必要があるからです。自分のアプリが更新されたら、自分のアプリを更新する必要があります。このすべてがあなたにオーバーヘッドをもたらします。代わりの方法は、テキスト読み上げライブラリの例に従うことです。 Android O/Sにはプリインストールされていないので、機能が要求されると、ユーザーは関連するライブラリをダウンロードするよう促されます。ちょうどPico TTSをアンインストールすると、私の言いたいことがわかります。

関連する問題