zoukankan      html  css  js  c++  java
  • Service错误

    错误日志:

     Caused by: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=m4 (has extras) }
                                                                                  at android.app.ContextImpl.validateServiceIntent(ContextImpl.java:1809)
                                                                                  at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1838)
                                                                                  at android.app.ContextImpl.startService(ContextImpl.java:1822)
                                                                                  at android.content.ContextWrapper.startService(ContextWrapper.java:516)
                                                                                  at myapplication.com.canvas.MainActivity.start(MainActivity.java:24)
                                                                                  at java.lang.reflect.Method.invoke(Native Method)
                                                                                  at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                  at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284)
                                                                                  at android.view.View.performClick(View.java:4793)
                                                                                  at android.view.View$PerformClick.run(View.java:19960)
                                                                                  at android.os.Handler.handleCallback(Handler.java:739)
                                                                                  at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                                  at android.os.Looper.loop(Looper.java:135)
                                                                                  at android.app.ActivityThread.main(ActivityThread.java:5593)
                                                                                  at java.lang.reflect.Method.invoke(Native Method)
                                                                                  at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:967)
                                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)

    补充代码:

    <1> 配置文件:

      <service android:name=".service.FirstService" >
                <intent-filter>
                    <action android:name="m4" />
                </intent-filter>
      </service>

    <2>

    public class FirstService extends Service {
        /*
         * intent:startServcie(it)传入的值
         * startId:启动服务的次数序号 
         * 
         */
        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
            
            int x = intent.getIntExtra("x", 0);
            //System.out.println("--"+startId+"--"+x);
            if (x==88) {
                //停止服务
                stopSelf();
            }
            return super.onStartCommand(intent, flags, startId);
        }
         @Override
        public void onDestroy() {
            // TODO Auto-generated method stub
            super.onDestroy();
            System.out.println("--onDestroy");
        }
        @Override
        public IBinder onBind(Intent arg0) {
            // TODO Auto-generated method stub
            return null;
        }
    
    }

    <3>

    public class MainActivity extends AppCompatActivity {
    
        TextView tv;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
        }
        public void start(View v){
            Intent it=new Intent();
            it.setAction("m4");
            it.putExtra("x", 88);
          
            startService(it);
        }
    }

    错误修改:

     public void start(View v){
            Intent it=new Intent();
            it.setAction("m4");
            it.putExtra("x", 88);
            it.setPackage("myapplication.com.canvas");//应用的包名
            startService(it);
        }
    今天多一点积累,明天少一分烦恼
  • 相关阅读:
    Cookie的总结
    动态改变静态资源路径
    使用JS监听DOM元素的属性及动画、CSS过渡
    localStorage和sessionStorage使用及监听
    难理解的点---值方法和指针方法 + 接口赋值
    js关于精确判断数据类型的总结
    ivew版本4.5.0后ivu-row样式变更,导致布局错乱
    简述三种异步上传文件方式
    自然周算法-javascript实现
    时隔3年9个月,再看
  • 原文地址:https://www.cnblogs.com/galibujianbusana/p/5949412.html
Copyright © 2011-2022 走看看