怎么在非activity类里获取intent?

qq_37028558 2016-12-13 05:18:40


通过activity inten打开这个Qhbservice继承AccessibilityService,怎么在Qhbservice类里获取intent,然后获取传递的参数?
,我真实的目的是想把activity xml编辑框控件内容获取,然后怎么能传递到Qhbservice?
...全文
290 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_37028558 2016-12-13
  • 打赏
  • 举报
回复
引用 7 楼 ink_s 的回复:
[quote=引用 5 楼 qq_37028558 的回复:] [quote=引用 1 楼 xiaohanluo 的回复:] 归根结底它还是一个service,是service就有办法。 1. 如果使用startService启动的服务,在onStartCommand(Intent intent, int flags, int startId)方法中有传递过来的intent 2. 如果使用bindService把您的个服务,在onBind(Intent intent)方法中有传递过来的intent 完美。
第二点具体点??,对于我现在的情况具体怎么弄[/quote]
/*	绑定时执行*/
	@Override
	public IBinder onBind(Intent intent) {
		Log.d(TAG, "onBind");
		return binder;
	}
	/*只在创建时执行一次*/
	@Override
	public void onCreate() {
		super.onCreate();
		Log.d(TAG, "onCreate");
	}
	/*断开绑定或者stopService时执行*/
	@Override
	public void onDestroy() {
		super.onDestroy();
		Log.d(TAG, "onDestroy");
	}

	 /* 当内存不够时执行改方法 */
	 @Override
	 public void onLowMemory() {
	 super.onLowMemory();
	 onDestroy();// 注销该service
	 }

	/* 当从新尝试绑定时执行 */
	@Override
	public void onRebind(Intent intent) {
		super.onRebind(intent);
		Log.d(TAG, "onRebind");
	}

	@Override
	public void onStart(Intent intent, int startId) {
		super.onStart(intent, startId);
		Log.d(TAG, "onStart");
	}

	/* ,每次startService都会执行该方法,而改方法执行后会自动执行onStart()方法 */
	@Override
	public int onStartCommand(Intent intent, int flags, int startId) {
		Log.d(TAG, "onStartCommand-->flags=" + flags + "  startId=" + startId);
		
		return super.onStartCommand(intent, flags, startId);
	}
	/*断开绑定时执行*/
	@Override
	public boolean onUnbind(Intent intent) {
		Log.d(TAG, "onUnbind");
		return super.onUnbind(intent);
	}
这么多方法 不都是要传递intent的嘛 你要用这个服务肯定要传intent的啊 要不你怎么用服务呢 [/quote] protected void onServiceConnected() { public void onAccessibilityEvent(AccessibilityEvent accessibilityEvent) { public void onInterrupt() 我就用了这几个重写方法,没有intent
qq_37028558 2016-12-13
  • 打赏
  • 举报
回复
引用 7 楼 ink_s 的回复:
[quote=引用 5 楼 qq_37028558 的回复:] [quote=引用 1 楼 xiaohanluo 的回复:] 归根结底它还是一个service,是service就有办法。 1. 如果使用startService启动的服务,在onStartCommand(Intent intent, int flags, int startId)方法中有传递过来的intent 2. 如果使用bindService把您的个服务,在onBind(Intent intent)方法中有传递过来的intent 完美。
第二点具体点??,对于我现在的情况具体怎么弄[/quote]
/*	绑定时执行*/
	@Override
	public IBinder onBind(Intent intent) {
		Log.d(TAG, "onBind");
		return binder;
	}
	/*只在创建时执行一次*/
	@Override
	public void onCreate() {
		super.onCreate();
		Log.d(TAG, "onCreate");
	}
	/*断开绑定或者stopService时执行*/
	@Override
	public void onDestroy() {
		super.onDestroy();
		Log.d(TAG, "onDestroy");
	}

	 /* 当内存不够时执行改方法 */
	 @Override
	 public void onLowMemory() {
	 super.onLowMemory();
	 onDestroy();// 注销该service
	 }

	/* 当从新尝试绑定时执行 */
	@Override
	public void onRebind(Intent intent) {
		super.onRebind(intent);
		Log.d(TAG, "onRebind");
	}

	@Override
	public void onStart(Intent intent, int startId) {
		super.onStart(intent, startId);
		Log.d(TAG, "onStart");
	}

	/* ,每次startService都会执行该方法,而改方法执行后会自动执行onStart()方法 */
	@Override
	public int onStartCommand(Intent intent, int flags, int startId) {
		Log.d(TAG, "onStartCommand-->flags=" + flags + "  startId=" + startId);
		
		return super.onStartCommand(intent, flags, startId);
	}
	/*断开绑定时执行*/
	@Override
	public boolean onUnbind(Intent intent) {
		Log.d(TAG, "onUnbind");
		return super.onUnbind(intent);
	}
这么多方法 不都是要传递intent的嘛 你要用这个服务肯定要传intent的啊 要不你怎么用服务呢 [/quote] 我打了onBind之类的都没有提示可以重写,还有我是用startActivity打开AccessibilityService服务的?这种情况该怎么弄
ink_s 2016-12-13
  • 打赏
  • 举报
回复
onBind(Intent intent) onStart(Intent intent, int startId) onRebind(Intent intent)
ink_s 2016-12-13
  • 打赏
  • 举报
回复
引用 5 楼 qq_37028558 的回复:
[quote=引用 1 楼 xiaohanluo 的回复:] 归根结底它还是一个service,是service就有办法。 1. 如果使用startService启动的服务,在onStartCommand(Intent intent, int flags, int startId)方法中有传递过来的intent 2. 如果使用bindService把您的个服务,在onBind(Intent intent)方法中有传递过来的intent 完美。
第二点具体点??,对于我现在的情况具体怎么弄[/quote]
/*	绑定时执行*/
	@Override
	public IBinder onBind(Intent intent) {
		Log.d(TAG, "onBind");
		return binder;
	}
	/*只在创建时执行一次*/
	@Override
	public void onCreate() {
		super.onCreate();
		Log.d(TAG, "onCreate");
	}
	/*断开绑定或者stopService时执行*/
	@Override
	public void onDestroy() {
		super.onDestroy();
		Log.d(TAG, "onDestroy");
	}

	 /* 当内存不够时执行改方法 */
	 @Override
	 public void onLowMemory() {
	 super.onLowMemory();
	 onDestroy();// 注销该service
	 }

	/* 当从新尝试绑定时执行 */
	@Override
	public void onRebind(Intent intent) {
		super.onRebind(intent);
		Log.d(TAG, "onRebind");
	}

	@Override
	public void onStart(Intent intent, int startId) {
		super.onStart(intent, startId);
		Log.d(TAG, "onStart");
	}

	/* ,每次startService都会执行该方法,而改方法执行后会自动执行onStart()方法 */
	@Override
	public int onStartCommand(Intent intent, int flags, int startId) {
		Log.d(TAG, "onStartCommand-->flags=" + flags + "  startId=" + startId);
		
		return super.onStartCommand(intent, flags, startId);
	}
	/*断开绑定时执行*/
	@Override
	public boolean onUnbind(Intent intent) {
		Log.d(TAG, "onUnbind");
		return super.onUnbind(intent);
	}
这么多方法 不都是要传递intent的嘛 你要用这个服务肯定要传intent的啊 要不你怎么用服务呢
王三的猫阿德 2016-12-13
  • 打赏
  • 举报
回复
引用 5 楼 qq_37028558 的回复:
[quote=引用 1 楼 xiaohanluo 的回复:] 归根结底它还是一个service,是service就有办法。 1. 如果使用startService启动的服务,在onStartCommand(Intent intent, int flags, int startId)方法中有传递过来的intent 2. 如果使用bindService把您的个服务,在onBind(Intent intent)方法中有传递过来的intent 完美。
第二点具体点??,对于我现在的情况具体怎么弄[/quote] 查一下service使用方法就知道了,其实就是启动service的问题。
qq_37028558 2016-12-13
  • 打赏
  • 举报
回复
引用 1 楼 xiaohanluo 的回复:
归根结底它还是一个service,是service就有办法。 1. 如果使用startService启动的服务,在onStartCommand(Intent intent, int flags, int startId)方法中有传递过来的intent 2. 如果使用bindService把您的个服务,在onBind(Intent intent)方法中有传递过来的intent 完美。
第二点具体点??,对于我现在的情况具体怎么弄
王三的猫阿德 2016-12-13
  • 打赏
  • 举报
回复
引用 3 楼 ink_s 的回复:
[quote=引用 2 楼 xiaohanluo 的回复:] 擦,有错别字,不完美。。。。
专门回去找了下错字 哈哈 还有那个板砖是谁丢的 [/quote] 不知道,回答的答案自己不能改很难受。
ink_s 2016-12-13
  • 打赏
  • 举报
回复
引用 2 楼 xiaohanluo 的回复:
擦,有错别字,不完美。。。。
专门回去找了下错字 哈哈 还有那个板砖是谁丢的
王三的猫阿德 2016-12-13
  • 打赏
  • 举报
回复
擦,有错别字,不完美。。。。
王三的猫阿德 2016-12-13
  • 打赏
  • 举报
回复
归根结底它还是一个service,是service就有办法。 1. 如果使用startService启动的服务,在onStartCommand(Intent intent, int flags, int startId)方法中有传递过来的intent 2. 如果使用bindService把您的个服务,在onBind(Intent intent)方法中有传递过来的intent 完美。

80,351

社区成员

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

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