Tôi muốn đăng nhập tất cả các sự kiện chúc rượu trong android ics (4.0.3), nhưng tôi không thể đăng nhập bất kỳ sự kiện hệ thống nào. Dịch vụ chỉ chưa được bắt đầu!dịch vụ trợ năng không được bắt đầu
Theo câu hỏi này: onAccessibilityEvent(AccessibilityEvent event) not intercepting notification
MyAccessibilityService.java
package com.test.toasts2;
import android.accessibilityservice.AccessibilityService;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.app.Notification;
import android.os.Parcelable;
import android.util.Log;
import android.view.accessibility.AccessibilityEvent;
import android.widget.Toast;
public class MyAccessibilityService extends AccessibilityService {
public static final String TAG = "volumeMaster";
@Override
public void onAccessibilityEvent(AccessibilityEvent event)
{
Log.v(TAG, "***** onAccessibilityEvent");
Toast.makeText(getApplicationContext(), "Got event from: " + event.getPackageName(), Toast.LENGTH_LONG).show();
}
@Override
public void onInterrupt()
{
Log.v(TAG, "***** onInterrupt");
}
@Override
public void onServiceConnected()
{
Log.v(TAG, "***** onServiceConnected");
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
info.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED;
info.notificationTimeout = 100;
info.feedbackType = AccessibilityEvent.TYPES_ALL_MASK;
setServiceInfo(info);
}
}
Toast2Activity.java
package com.test.toasts2;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Toast;
public class Toast2Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent i = new Intent(this, MyAccessibilityService.class);
startService(i);
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.toasts2"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<service android:name=".MyAccessibilityService" android:label="@string/app_name" android:enabled="true" android:exported="false">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
</service>
<activity
android:name=".Toast2Activity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Tôi bao gồm thẻ hoạt động trong tệp kê khai (để bắt đầu dịch vụ khi bắt đầu ứng dụng) và cũng đã cố gắng xóa. Không có gì thay đổi. Dịch vụ chưa được bắt đầu. Tôi không nhận được thông báo trong log mèo (Log.v in onServiceConected).
Tôi đang biên dịch ứng dụng này làm ứng dụng bình thường (không phải ứng dụng hệ thống), android 4.0.3. Tôi có làm điều gì sai?
dự án đính kèm (có thể sai lầm là ở một nơi khác, hoặc có lẽ tôi đang biên soạn nó sai): https://dl.dropbox.com/u/1928109/toast2.zip
Tôi dường như không thể tìm thấy Dịch vụ trợ năng trong Android 4.2.1 – Klaasvaak
Mã của bạn thực sự hữu ích. Cảm ơn vì điều đó. Có cách nào để bật dịch vụ trợ năng thông qua mã không? – Kameswari
@Kameswari Không có cách nào để làm điều đó, theo như tôi biết. –