2

アプリケーションに「test」という名前のアクティビティが存在するかどうかをテストしたい。startActivity を呼び出す前、または以下の catch ブロックでマニフェスト ファイルを使用している可能性があります。

Intent と 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    
}
4

3 に答える 3

0

代わりに forName を使用してください。

このようなもの..

   try {
        Class<?> act = Class.forName("TestActivity");
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
//      do what you wish if not exist
    }
于 2012-04-12T12:15:50.347 に答える
0

JSON 応答から取得したとしても、プログラムでマニフェスト ファイルにアクティビティを追加することはできません。

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

于 2012-04-12T11:58:19.467 に答える
0

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

Activity の存在を確認することは簡単にできます。

于 2012-04-12T12:22:04.243 に答える