Приложение не отображается в меню настроек специальных возможностейJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Приложение не отображается в меню настроек специальных возможностей

Сообщение Anonymous »

Я разрабатываю приложение только для виджетов, которое состоит из кнопки, которая при нажатии блокирует экран устройства. Для этого я использую специальные возможности. Однако приложение не отображается в меню настроек специальных возможностей.
Вот несколько файлов из исходного кода моего приложения:
класс обслуживания:

Код: Выделить всё

public class PowerService extends AccessibilityService {
private void guaranteeAccessibilityService() {
Context context = this;

// Checks if accessibility permission is enabled
AccessibilityManager am = (AccessibilityManager) getSystemService(Context.ACCESSIBILITY_SERVICE);
List enabledServices = am.getEnabledAccessibilityServiceList(AccessibilityServiceInfo.FEEDBACK_ALL_MASK);

for (AccessibilityServiceInfo service: enabledServices) {
ServiceInfo si = service.getResolveInfo().serviceInfo;
if (si.packageName.equals(context.getPackageName()) && si.name.equals(PowerService.class.getName())) {
System.out.println("App has accessibility permission");
return;
}
}

// Otherwise...
System.out.println("App does not have accessibility permission");
Intent i = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
}

private void lock() {
performGlobalAction(AccessibilityService.GLOBAL_ACTION_LOCK_SCREEN);
}

private void powerMenu() {
performGlobalAction(AccessibilityService.GLOBAL_ACTION_POWER_DIALOG);
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
int cmd = intent.getIntExtra("cmd", -1);

switch (cmd) {
case 0:
lock();
break;
case 1:
powerMenu();
break;
default:
System.out.println("No command was passed!");
}

return AccessibilityService.START_STICKY;
}

@Override
public void onAccessibilityEvent(AccessibilityEvent event) {
}

@Override
public void onInterrupt() {
}

@Override
public void onCreate() {
super.onCreate();
System.out.println("Serviço criado!");
guaranteeAccessibilityService();
}
}
Класс виджета

Код: Выделить всё

public class Lock extends AppWidgetProvider {
public static final String ACTION_WIDGET_CLICKED = "ActionWidgetClicked";

private void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
int appWidgetId) {
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.lock);
Intent intent = new Intent(context, getClass());
intent.setAction(ACTION_WIDGET_CLICKED);
PendingIntent pIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_IMMUTABLE);
views.setOnClickPendingIntent(R.id.buttonLock, pIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
}

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
// There may be multiple widgets active, so update all of them
for (int appWidgetId : appWidgetIds) {
updateAppWidget(context, appWidgetManager, appWidgetId);
}
}

@Override
public void onReceive(Context context, Intent intent) {
if (ACTION_WIDGET_CLICKED.equals(intent.getAction())) {
System.out.println("Widget button clicked!");

Intent i = new Intent(context, PowerService.class);
i.putExtra("cmd", 0); // PowerService.powerOff()
context.startForegroundService(i);
}

super.onReceive(context, intent);
}

@Override
public void onEnabled(Context context) {
System.out.println("Widget created!");
}
}
The AndroidManifest.xml Power_service_config.xml Я точно следовал всем руководствам, которые нашел в Интернете, особенно в отношении файлов AndroidManifest.xml и power_service_config.xml, но мое приложение не отображается в меню специальных возможностей. Однако я скомпилировал другие подобные проекты, которые нашел на GitHub, с файлами AndroidManifest.xml и эквивалентными файлами power_service_config.xml, очень похожими на мой проект, и приложение появилось в меню специальных возможностей.


Подробнее здесь: https://stackoverflow.com/questions/791 ... tings-menu
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»