【问题标题】:Error: Unknown admin: ComponentInfo{com.demoapp.amm/DeviceAdminSample}错误:未知管理员:ComponentInfo{com.demoapp.amm/DeviceAdminSample}
【发布时间】:2018-07-06 08:38:29
【问题描述】:

我正在从 adb shell 尝试这个命令

dpm set-device-owner com.demoapp.amm/DeviceAdminSample

我收到了这个回复。

未知管理员:ComponentInfo{com.demoapp.amm/DeviceAdminSample}

com.demoapp.amm 是我在 Manifest 文件中的包名。

下面是我的 Manifest 文件中的接收器

  <receiver
        android:name=".DeviceAdminSample"
        android:description="@string/sample_device_admin_description"
        android:label="@string/sample_device_admin_description"
        android:permission="android.permission.BIND_DEVICE_ADMIN" >

        <meta-data
            android:name="android.app.device_admin"
            android:resource="@xml/device_admin_sample" >
        </meta-data>

        <intent-filter>
            <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
        </intent-filter>
    </receiver> 

下面是我的班级 DeviceAdminSample.class

package com.demoapp.amm;
import android.app.admin.DeviceAdminReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;


public class DeviceAdminSample extends DeviceAdminReceiver {

void showToast(Context context, String msg) {

    Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
}

@Override
public void onEnabled(Context context, Intent intent) {
    showToast(context,"Enabled");
}

@Override
public CharSequence onDisableRequested(Context context, Intent intent) {
    return "Disabled";
}

@Override
public void onDisabled(Context context, Intent intent) {
    showToast(context, "Disabled");
}

@Override
public void onPasswordChanged(Context context, Intent intent) {
    showToast(context,"Password Change");
}

public static ComponentName getComponentName(Context context) {
    return new ComponentName(context.getApplicationContext(), 
DeviceAdminSample.class);
}

}

【问题讨论】:

标签: android dpm


【解决方案1】:

这是因为您在清单 android:name=".DeviceAdminSample" 中为接收方名称添加了一个句点,因此 com.demoapp.amm/DeviceAdminSample 不存在。

改用 dpm set-device-owner com.demoapp.amm/.DeviceAdminSample。

【讨论】:

    猜你喜欢
    • 2017-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    • 2015-10-22
    • 1970-01-01
    • 2018-08-18
    • 2014-02-18
    相关资源
    最近更新 更多