我已经创建了一个活动,只能从链接启动(使用意图过滤器)。我不希望此活动具有GUI - 我只是希望它启动一个服务并且在酒吧中发出通知。我试图将链接的意图过滤器放在我的服务中,但这不起作用。有没有更好的做法可以回应意向过滤器 - 或者我可以让我的活动没有GUI?
对不起,如果我很困惑,艾萨克没有GUI的Android活动
回答
你最好的选择似乎是使用BroadcastReceiver
。您可以创建一个新的广播接收器监听的意图来触发您的通知,并开始为您服务是这样的:
public class MyIntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context _context, Intent _intent) {
if (_intent.getAction().equals(MY_INTENT)) {
// TODO Broadcast a notification
_context.startService(new Intent(_context, MyService.class));
}
}
}
而且你可以在此IntentReceiver直接在应用程序清单,而无需一个活动中包括其注册:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.domain.myapplication">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<service android:enabled="true" android:name="MyService"></service>
<receiver android:enabled="true" android:name="MyIntentReceiver">
<intent-filter>
<action android:name="MY_INTENT" />
</intent-filter>
</receiver>
</application>
</manifest>
请告诉我什么是_intent.getAction()。equals(MY_INTENT)中的MY_INTENT,抱歉,如果我听起来天真,我只是一个初学者。 – 2010-02-18 12:33:49
你可以使用任何你想要识别你的意图的字符串。它必须是独一无二的。我建议你使用“your.package.name.START_SERVICE” – 2010-08-17 18:28:30
我不确定服务是否可以工作,但广播接收器肯定不会。网址是使用startActivity()启动的。广播接收机无法对此做出响应。
http://developer.android.com/reference/android/content/BroadcastReceiver.html
FTA: 需要注意的是,虽然Intent类用于发送和接收这些广播,这里的意图广播机制是完全独立于被用于启动与Context.startActivity活动的Intent() 。 BroadcastReceiver无法查看或捕获与startActivity()一起使用的Intents;同样,当您广播一个意图时,您将永远不会找到或启动一个活动。
使用服务。我工作肯定。当你点击程序时,它会在没有任何GUI的情况下完成它的工作。使用pendintgintent ... getService(MySerice.class ....)。然后,创建一个扩展Service类的新类MyService。在MyService.class中,重写onStart()并做任何你想做的事情。
回应以前的回应,你不应该使用广播接收器。
在相同的情况下,我所做的就是申报正是如此主题:
<activity android:name="MyActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoDisplay">
- 1. 没有父母活动的android活动
- 2. Android活动没有显示
- 3. 没有活动没有服务? (Android)
- 4. 的Android - GUI没有找到
- 5. 动画活动没有工作在android
- 6. 没有启动器活动发现Android
- 7. Android没有启动器活动发现
- 8. Android摄像头活动没有启动
- 9. 没有图形的android活动
- 10. 没有布局的Android活动
- 11. Android的活动没有响应
- 12. Android的活动没有刷新
- 13. 活动上没有OnclickListeners的Android上限
- 14. Android的通知 - 如何把活动前没有召回活动
- 15. 没有活动
- 16. Android:活动之间没有转换?
- 17. Android为什么没有完成活动
- 18. Android清单:没有默认活动?
- 19. android eclipse没有创建空白活动
- 20. Android: - 第二项活动没有开始?
- 21. 活动闪屏没有在Android清单
- 22. Eclipse android没有创建活动
- 23. Android活动没有旋转到各方?
- 24. Android服务使活动没有响应
- 25. 活动在android中没有响应Surfaceview
- 26. 没有[新] ..> [活动]在Android Studio 0.4.2
- 27. 浏览器没有开始活动android
- 28. Android活动没有完全关闭
- 29. Android Studio中没有任何活动
- 30. Android studio没有主要活动,没有新项目的布局
我现在认识到,活动只是GUI,这就是他们的目的,所以我将不得不使用服务或别的东西。谢谢Isaac – 2009-02-08 23:44:51