你需要的是一个service,需要开机启动。

解决方案 »

  1.   

    我不懂你是想要做成什么效果,收到message的时候,系统会broadcast一个消息出来。所有intent-filter定义了这个消息都是可以接受到的,你说的intent应该是这个意思吧。但是当你的ap不在前台的时候,你需要怎么做呢。似乎activity在后台没有办法处理的吧。
      

  2.   

    既然是来短信,我想要开机启动吧.一个BroadcastReceiver
    public class BootBroadcastReceiver extends BroadcastReceiver{    private static String ACTION="android.intent.action.BOOT_COMPLETED";    @Override
        public void onReceive(Context ctx,Intent intent){
            if(ACTION.equals(intent.getAction())){
                Intent soundPoolIntent=new Intent(ctx,SoundPoolActivity.class);
                soundPoolIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                ctx.startActivity(soundPoolIntent);
            }
        }
    }
    这样就启动了,要注册:
    <receiver android:name=".BootBroadcastReceiver">
                <intent-filter>
                    <action android:name="android.intent.action.BOOT_COMPLETED"/>
                </intent-filter>
            </receiver>
        </application>
        
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
      

  3.   

    接收BOOT_COMPLETED是肯定的,但是当你的activity在后台,而非在前台,那么你如果去处理界面呢。难道说程序起来以后就一直处于onResume的状态。不明白程序启动以后你想要有什么操作,请告知。
      

  4.   

    那就无所谓了,只要你注册了broadcast receiver就OK了吧。那么你需要关注的重点就是如何将activity从后台跳到前台,其他没有什么难度了。
      

  5.   

    1. BroadcastReceiver监听BOOT_COMPLETED, 启动主activity
      (主activity设置为不可见, AndroidManifest.xml中注释掉
       <category android:name="android.intent.category.LAUNCHER" />)
    2. BroadcastReceiver监听短信消息,收到短信启动 ui intent