设置非常简单:
onCreate()
方法的扩展应用程序类。 Activity
IntentService
计划按AlarmManager
应用程序类将在以下两种情况下实例化:
现在提问: 在Application类中如何获得上述2个案例中的哪一个开始app?
答案 0 :(得分:1)
AFAIK,您无法从自定义onCreate()
子类的Application
内知道这两个案例中的哪一个导致您的流程启动。 Application
没有heyWhatStartedMe()
种方法可以调用,onCreate()
也没有传递任何指示进程启动原因的内容。
我不太确定为什么你需要确定差异。 onCreate()
的{{1}}在主应用程序线程上被调用,因此无论哪个组件触发创建进程,您都不希望在那里做任何事情。如果您想要做的工作很快,您可能只是一直这样做,或者将该逻辑移到Application
或Activity
。
答案 1 :(得分:0)
是的!在IntentService
内为您的意图添加额外内容,并在MainActivity中查看它们。
将您的身份int
放入新的Intent
。
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
Bundle b = new Bundle();
b.putInt("key", 1); //Your id
intent.putExtras(b); //Put your id to your next Intent
startActivity(intent);
finish();
然后抓住新Activity
中的ID:
Bundle b = getIntent().getExtras();
int value = -1; // or other values
if(b != null)
value = b.getInt("key");