2012-04-10 3 views
3

私は、他のアプリケーションをAndroidスマートフォンで起動するアプリケーションを作っています。他のアンドロイドアプリケーションから読み取れる可能なパラメータを知る方法

基本的には、自分で作成した別のアプリケーションをパラメータとして使用するためのコードです。

アプリケーション1:

Appliaction 2:ここで私は、パラメータを取得する方法私の他のアプリケーションでは、

PackageManager pm = getApplicationContext().getPackageManager(); 
Intent appStartIntent = pm.getLaunchIntentForPackage(mypackage); 
    appStartIntent.putExtra("message", s); 

    if (null != appStartIntent) { 
     getApplicationContext().startActivity(appStartIntent); 
    } 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Bundle extras = getIntent().getExtras(); 
    String result; 
    try { 
     result= (String) extras.getString("message"); 
    } catch (Exception e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     recup = "nothing received"; 
    } 

    Toast.makeText(getApplicationContext(), recup, Toast.LENGTH_SHORT).show(); 
} 

問題ここでは、私たちが知っておく必要があるということです第2のアプリケーションは、「メッセージ」と呼ばれるパラメータを受け取ることができる。

ここに質問があります: アプリケーション2から期待されるすべての可能なパラメータをアプリケーション1から知ることは可能ですか? 「はい」の場合、電話機にインストールされているアプリケーションが受け付けるパラメータなどを知ることはできますか? (例:Handcent、Facebook、Latitude ...)

答えて

2

Androidは、アプリケーションが予期しているパラメータを取得するためのメタデータAPIを定義していません。したがって、あなたが望むことをすることはできません。各アプリケーションのドキュメントに頼らなければなりません。

+0

すぐにお返事ありがとうございます 自分のアプリケーションをコーディングする前に、自分のプログラムで使用したいアプリケーションを調べます。 – Bertrand

0

クラス内を覗き見て、そのメソッドと予想されるパラメータを取得することができます。それがあなたの問題を完全に解決するかどうかは分かりませんが、それは始まりです...

1

この事は私に起こったので、私が知っている最良の方法は、ターゲットアプリケーションをコンパイルし、目的のアクティビティを表示することです。

+0

実際、これは私がやるべきことですが、私は、Androidデバイスから直接学習することはできません。 – Bertrand

関連する問題