2011-07-31 22 views
3

私は、携帯電話にインストールされている別のアプリを起動できるはずのアプリを開発しています。現在、私はActivityPackageとActivityClassが知られているので、facebookを立ち上げることに成功しています。 Twitter、gplus、gtalk、gmailなどの他のアプリを起動したいのですが、対応するクラス名を調べるにはどうすればいいですか? packagemanagerでパッケージ名を見つけるのは簡単ですが、同じメソッドでクラス名を見つけることはできません。私はあなたが実行時にこれをやろうとしていないと仮定していapkのクラス名を調べる

答えて

2

...

android-apktool

はあなたが興味を持っているパッケージのマニフェストを拡張することができます。それはあなたを教えてくれますどのような活動が利用可能であり、どのようなインテントフィルタが適用されます。

+0

こんにちは、答えに感謝します。これは一般公開されたアプリではありません。これは個人的な使用とAndroidプログラミングの理解のみを目的としています。私は助けに感謝:) – borislemke

1

私は、電話にインストールされている別のアプリを起動できるはずのアプリを開発しています。

起動するように設計されたアクティビティについては、PackageManagerを照会できます。これを実証するHere is a sample project

現在、私はActivityPackageとActivityClassが知られているので、facebookを起動することに成功しています。

これを行わないでください。

あなたは、Facebookが自分のアプリをいつでも更新して、Facebookが選択したような活動を変更できることを理解する必要があります。 Facebookがこれを実行すると、元の文書化されていない、サポートされていないIntent構造(クラスなど)に依存するコードがすべて破損することに気づくべきです。あなたは、私は私が行う方法などさえずり、ジープラス、Gtalkは、Gmailのよう他のアプリを起動したい

など、壊れたアプリは、ユーザーが市場にアプリが悪い評価やコメントを与えることになりますことを認識すべきです対応するクラス名を確認しますか?

これを行わないでください。上記のサンプルプロジェクトで、ランチャーに属すると宣言されたアクティビティを使用してください。

0

は、パッケージ/アクティビティ名を取得する方法についてアイデアを得るために、このPythonコードをチェックアウト:

http://voyager.wordpress.com/

当サイトは「AAPT」の出力を分析するためのPythonスクリプトを提供しています。

関連する問題