这两天在学习做Android
看到广播和服务这里 遇到些问题请教下功能描述 开机自动启动软件 实现短信监听
问题一
开机自动启动以实现 实现具体如下 Java代码public class myBroadcase extends BroadcastReceiver { @Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
/**
* 广播
* */
Log.d("myAndroid", "broadcast start");
Intent mBootintent = new Intent(context,null);
mBootintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
context.startActivity(mBootintent);
/**
* 启动服务
* */
Log.d("myAndroid", "service start");
Intent serviceInt = new Intent();
serviceInt.setAction("com.example.androidprj.MyService");
context.startService(serviceInt);
}
}XML配置
<receiver android:name="myBroadcase">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.HOME"/>
</intent-filter>
</receiver>问题在于 系统加载完成后可以跳入到我的Demo页面
但是 启动服务的代码未执行 是为什么?
看到广播和服务这里 遇到些问题请教下功能描述 开机自动启动软件 实现短信监听
问题一
开机自动启动以实现 实现具体如下 Java代码public class myBroadcase extends BroadcastReceiver { @Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
/**
* 广播
* */
Log.d("myAndroid", "broadcast start");
Intent mBootintent = new Intent(context,null);
mBootintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
context.startActivity(mBootintent);
/**
* 启动服务
* */
Log.d("myAndroid", "service start");
Intent serviceInt = new Intent();
serviceInt.setAction("com.example.androidprj.MyService");
context.startService(serviceInt);
}
}XML配置
<receiver android:name="myBroadcase">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.HOME"/>
</intent-filter>
</receiver>问题在于 系统加载完成后可以跳入到我的Demo页面
但是 启动服务的代码未执行 是为什么?
解决方案 »
- 视频播放器在播放选中的视频前要播放一个默认的广告,这个怎么搞??
- 如何解析dex文件
- 为何我不能获取EditText中的内容?大侠们 。
- 求大神推荐一款wifi热点的软件
- 怎样让Android程序在最初安装的时候,在SD创建一个文件夹?
- popupwindow 截获MotionEvent.ACTION_OUTSIDE问题
- 这个Activity有什么错误呢????
- 安卓webView加载html5游戏的问题
- 自定义View在android2.3.3手机上正常运行 在android4.2.2手机上报空指针
- 关于flutter监控键盘收回的疑问
- android定位
- UI线程又被阻塞了吗?确实另开了线程
serviceInt.setAction("com.example.androidprj.MyService");
context.startService(serviceInt);改:Intent serviceInt = new Intent(context, MyService.class);
context.startService(serviceInt);看看
但是 广播类中的Java代码没有 实现
有启动的话就会执行代码,代码里面有Log.d("myAndroid", "broadcast start");这个是否有输出?如果有输出的话,建议你把启动服务的这段代码换到Log.d("myAndroid", "broadcast start");前面去。
所以说 自动启动时成功的
但是 看不到log信息?不知道为什么
就可以开机启动了
mBootintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
context.startActivity(mBootintent);
这个干什么的呢
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
貌似有这两句也会启动Demo。
应该是根本就没有运行Broadcase,因为这里面会报错!log里面可以看到!你的
Intent mBootintent = new Intent(context,null);
没有指明哪个Activity.