Android: как отобразить основную активность? - PullRequest
0 голосов
/ 19 марта 2011

Я пытаюсь отобразить свою основную деятельность из другого класса, но проблема в том, что я не знаю имя класса в этот момент (код, который я пишу, находится внутри библиотеки Android, и основные действияв конкретных приложениях).

Как получить класс основных действий во время выполнения или иным образом создать намерение, запускающее основное действие?

Я пробовал это:

new Intent(Intent.ACTION_MAIN);

Но ничего не происходит.

Ответы [ 4 ]

0 голосов
/ 31 марта 2011

Вы можете попробовать реализовать некоторый интерфейс (или, возможно, абстрактный класс) для описания вашего основного класса.

И в классе, который вы пишете в библиотеке, создайте экземпляр объекта интерфейса.

0 голосов
/ 27 марта 2011

Это выглядит как идеальная подгонка: PackageManager.getLaunchIntentForPackage().Обратите внимание, что это уровень API 3.

0 голосов
/ 29 марта 2011

Включите следующее намерение в манифест для основного действия, на которое вы ссылаетесь:

 <intent-filter>
    <action android:name="com.android.myproject.THIS_IS_MY_ACTION" />
    <category android:name="android.intent.category.DEFAULT" />
 </intent-filter>

и вы можете вызвать этот класс, используя:

startActivity(new Intent("com.android.myproject.THIS_IS_MY_ACTION"));
0 голосов
/ 19 марта 2011

Почему бы не передать имя основного действия при инициализации библиотеки, когда она используется в первый раз?

...