嗨我正在编写一个应用程序的Android从启动启动,我想知道是否有一种方式告诉应用程序它是从设备启动启动?如果应用程序是手动启动的(即不是在设备启动时),我需要它做一些不同的事情。我正在使用BroadcastReceiver在设备启动时启动应用程序。如何告诉应用程序是从启动设备开始的?
1
A
回答
1
你既可以做两个不同的广播接收者有一个ACTION_BOOT_COMPLETED
用于intent过滤器,另一个接收者使用另一个intent过滤器。
,或者创建有两个意图过滤器,像一个广播接收器:
<receiver android:name=".BatteryReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
<intent-filter>
<action android:name="SOMETHING_ELSE"/>
</intent-filter>
</receiver>
然后在onReceiver
做:
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
// do code for phone just powered on
} else {
// do code for phone is already on
}
编辑: 上述假定您使用BroadcastReceiver
下两种情况,根据你的问题可能不是这种情况。
所以,如果你在开始Activity
(或服务),然后在BroadcastReceiver
代码,你可以这样做:
Intent i = new Intent(context, MyClass.class);
i.putExtra("STARTED_FROM_BOOT", true);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
在活动
然后,你可以这样做:
if (getIntent().hasExtra("STARTED_FROM_BOOT")){
// do your code for when started from boot.
}
设我知道我是否需要添加任何东西。
0
是,勾在清单与上boot completed
意图broadcastreceiver
当装置启动时,将接收器将被解雇,你可以做任何你想要有
<receiver android:name=".BatteryReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
+0
这就是他已经做了大概,当它启动后 – NickT 2012-01-18 16:58:36
相关问题
- 1. 如何在启动设备时启动应用程序?
- 2. 告诉设备驱动程序超时是否发生了wait_event_interruptible_timeout
- 3. 我应该如何开始编写设备驱动程序?
- 4. 我应该如何开始设备驱动程序
- 5. 如何在设备上启动黑莓应用程序打开/打开
- 6. 应用程序不应该启动在启动但开始
- 7. 如何在移动设备打开时在android中启动应用程序?
- 8. 如何知道应用程序何时使用Default.png从头开始启动?
- 9. 如何在Android设备上启动其他应用程序
- 10. 如何在BB10 dev alpha设备上启动应用程序
- 11. [Android]应用程序重新启动设备后重新启动
- 12. USB设备可以告诉主机启动时使用哪个备用接口?
- 13. 如何从企业应用程序的类设计开始?
- 14. 从零开始启动React应用程序
- 15. 从头开始重新启动iphone应用程序
- 16. 从开始菜单搜索启动.net应用程序
- 17. Android Studio。无法从设备启动应用程序
- 18. 从蓝牙设备触发应用程序启动
- 19. 如何从我的Mac应用程序重新启动和恢复iOS设备
- 20. 设备在Windows Mobile中启动时,如何启动应用程序?
- 21. Android - 如何开始创建一个启动程序的应用程序?
- 22. Android:如何告诉我的活动从我的服务开始新的活动?
- 23. 如何从其他设备打开应用程序
- 24. 哪个事件告诉您设备已成功启动
- 25. 如何从我的应用程序启动iPhone设置应用程序?
- 26. 如何告诉mac OSX“osascript告诉”任何设备“设置音量0”“
- 27. iPhone应用程序从最后一个已知状态启动,而不是从进程开始重新启动
- 28. 如何开始为多种设备大小/密度开发Android应用程序?
- 29. 如何开始学习linux设备驱动程序开发?(仅适用于windows)
- 30. 如何在一台设备开始从应用的活动,以应用在其他设备
开始startActivity(我)之前,你还需要i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); – NickT 2012-01-18 17:55:48
@NickT谢谢。忘了那一点。我更新了。 – Jakar 2012-01-18 18:36:35