service 怎样调用activity

passself 2011-07-04 08:39:12
如题,最好有完整的demo,谢谢
...全文
530 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
walker1985 2011-07-29
  • 打赏
  • 举报
回复
明显 可以的么!!就用Intent  startactivity 试试就知道。
ganlingguan 2011-07-29
  • 打赏
  • 举报
回复
activity 如何调用service? service如何调用activity?
思考的芦苇 2011-07-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lizhengjun2010 的回复:]

引用 4 楼 lieri111 的回复:

引用 2 楼 sam_zhang1984 的回复:

在Service启动activity就跟你平常在activity中调用其它activity一样

同样是声明一个Itent
然后startActivity

你描述得不是很清楚,
不知你要的是这个意思吗?

恩是这个意思,但是网上很多都说,service不能直接调用activ……
[/Quote]
学习了
wc7253027 2011-07-06
  • 打赏
  • 举报
回复
学习了。。。
chenjinyu_china 2011-07-06
  • 打赏
  • 举报
回复
避免出现ANR(Application not reponse),应用程序应该避免在Service中启动Activity,都通过Notification启动
sam_zhang1984 2011-07-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lieri111 的回复:]

引用 2 楼 sam_zhang1984 的回复:

在Service启动activity就跟你平常在activity中调用其它activity一样

同样是声明一个Itent
然后startActivity

你描述得不是很清楚,
不知你要的是这个意思吗?

恩是这个意思,但是网上很多都说,service不能直接调用activity,只能用broadcast来调用,请给出具……
[/Quote]

我就是直接在Service的onStartCommand方法中启动Activity

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClass(SMSService.this, MainActivity.class);
SMSService.this.startActivity(intent);

启动是已经能启动,至于有没有什么副作用暂时没深究

你可以试试,自己试了行就行,不是别人说不行就不能试的
sam_zhang1984 2011-07-06
  • 打赏
  • 举报
回复
我就是直接在Service的onStartCommand方法中启动Activity

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClass(SMSService.this, MainActivity.class);
SMSService.this.startActivity(intent);

启动是已经能启动,至于有没有什么副作用暂时没深究

你可以试试,自己试了行就行,不是别人说不行就不能试的

雨松MOMO 2011-07-06
  • 打赏
  • 举报
回复
BroadcastReceiver 可以直接启动
zxczxc2210 2011-07-05
  • 打赏
  • 举报
回复
startActivity
yiguosk8 2011-07-05
  • 打赏
  • 举报
回复
学习了~~~
lizhengjun2010 2011-07-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lieri111 的回复:]

引用 2 楼 sam_zhang1984 的回复:

在Service启动activity就跟你平常在activity中调用其它activity一样

同样是声明一个Itent
然后startActivity

你描述得不是很清楚,
不知你要的是这个意思吗?

恩是这个意思,但是网上很多都说,service不能直接调用activity,只能用broadcast来调用,请给出具……
[/Quote]

的确,service和RroadcastReciver中都不建议直接启动activity,都通过notification启动
在service 或reciver中,要启动acitvity时,启动一个通知notification,通过notification启动!
在启动activity加:
NotificationManager myNoti=(NotificationManager)context.getSystemService(Service.NOTIFICATION_SERVICE);
Notification myNotification=new Notification();
myNotification.icon=R.drawable.icon;
myNotification.tickerText="启动Activity";
Intent myIntent=new Intent(context,Activity1.class);
PendingIntent pi=PendingIntent.getActivity(context, 0, myIntent, 0);
myNotification.setLatestEventInfo(context, "提示","启动Activity", pi);
myNoti.notify();
passself 2011-07-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sam_zhang1984 的回复:]

在Service启动activity就跟你平常在activity中调用其它activity一样

同样是声明一个Itent
然后startActivity

你描述得不是很清楚,
不知你要的是这个意思吗?
[/Quote]
恩是这个意思,但是网上很多都说,service不能直接调用activity,只能用broadcast来调用,请给出具体例子
sam_zhang1984 2011-07-04
  • 打赏
  • 举报
回复
在Service启动activity就跟你平常在activity中调用其它activity一样

同样是声明一个Itent
然后startActivity

你描述得不是很清楚,
不知你要的是这个意思吗?
雨松MOMO 2011-07-04
  • 打赏
  • 举报
回复
楼主你的意思是service 中开启一个activity 还是说调用 已有activity 中的内容?

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧