2012-04-12 26 views
2

"test"という名前のアクティビティがアプリケーションに存在するかどうかをテストします。次のためにstartActivityを呼び出す前に、またはそのcatchブロックでマニフェストファイルを使用している可能性:アクティビティがアンドロイドに存在するかどうかを確認する方法

Starting an Activity with Intent and SetClassName

そう言う:

if(test.exists){ 
    Activity is registered and start it  
} 
else{ 
    create Activity and add it in manifset programmatically, as this would be a dynamic Activity  
} 
+0

あなたが必要としていることを分かち合うならば、私たちは回避策を伝えることができます。アクティビティがあなた自身のコードに存在するかどうかを調べようとしているので...特定の必要性はありますか? – ngesh

+0

はい..私はハイブリッドアプリを開発しています。これは、1つのアクティビティでボタンをクリックすると(例えば、呼び出し元)、それはネイティブアクティビティ(テストなど)を呼び出します。このアクティビティ名 "test"はJSONオブジェクトに入ってきます。そのアクティビティを開始する前に、テストが必要ですか? – Smitha

+0

あなたはアクティビティ名を取得するだけですか、パッケージ名も取得します。 – ngesh

答えて

0

あなたからそれを得る場合でも、我々はプログラムでmanifeastファイルにアクティビティを追加カントJSONレスポンス

ネイティブアクティビティを起動している場合、通常はマニフェストファイルには追加しませんが、特定のものについては、アプリで使用するための権限を追加する必要があります。

0

使用にforName代わりに...このような

何か...そう

try { 
     Class<?> act = Class.forName("TestActivity"); 
    } catch (ClassNotFoundException e) { 
     // TODO Auto-generated catch block 
//  do what you wish if not exist 
    } 
+0

nこれをマニフェストに追加する方法は? –

+0

あなたはあなたの答えを掲示しています。私はそれがあなたがチェックできる解決策を与えてくれると思います。 – Trikaldarshi

0

マニフェストとは、APKに存在する他のXMLSはyoouがあなたのコンポーネントを再利用する必要がありmodified.Soこと、あなたができないんあなたはそれのためのフラグメントを使用することができます(私はあなたの要件を正しく理解している場合)。または単にアクティビティを再利用することができます。

アクティビティの有無を簡単に確認できます。

関連する問題