
我想知道是否可以通过android中的后台服务来调用活动,如:
import androID.app.Service;import androID.content.Intent;import androID.content.SharedPreferences;import androID.media.MediaPlayer;import androID.os.Handler;import androID.os.IBinder;import androID.os.Message;public class background extends Service{ private int timer1; @OverrIDe public voID onCreate() { // Todo auto-generated method stub super.onCreate(); SharedPreferences preferences = getSharedPreferences("SaveTime", MODE_PRIVATE); timer1 = preferences.getInt("time", 0); startservice(); } @OverrIDe public IBinder onBind(Intent arg0) { // Todo auto-generated method stub return null; } private voID startservice() { Handler handler = new Handler(); handler.postDelayed(new Runnable(){ public voID run() { mediaPlayerPlay.sendEmptyMessage(0); } }, timer1*60*1000); } private Handler mediaPlayerPlay = new Handler(){ @OverrIDe public voID handleMessage(Message msg) { try { getApplication(); MediaPlayer mp = new MediaPlayer(); mp = MediaPlayer.create(background.this, R.raw.alarm); mp.start(); } catch(Exception e) { e.printstacktrace(); } super.handleMessage(msg); } }; /* * (non-Javadoc) * * @see androID.app.Service#onDestroy() */ @OverrIDe public voID onDestroy() { // Todo auto-generated method stub super.onDestroy(); }}我想打电话给我的活动……
解决方法:
您可以在服务的onStart()时调用Activity …..
片段可能如下:
@OverrIDe public voID onStart(Intent intent, int startID) { ...Log.i("Service", "onStart() is called"); Intent callintent = new Intent(Intent.ACTION_CALL); callintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); callintent.setClass(<Set your package name and class name here>);startActivity(callintent);...} 总结 以上是内存溢出为你收集整理的我们如何通过android中的服务调用活动?全部内容,希望文章能够帮你解决我们如何通过android中的服务调用活动?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)