android - 以管理员身份运行 Android 应用

标签 android admin manifest

我正在尝试编写一个简单的应用程序,并遵循 ApiDemos 示例。我的应用程序在启动时崩溃。我怀疑我的 list 有问题,但我不确定。有什么想法吗?

    public class managerActivity extends DeviceAdminReceiver {
        public class Controller extends Activity {

        static final int RESULT_ENABLE = 1;

        DevicePolicyManager mDPM;
        ActivityManager mAM;
        ComponentName mDeviceAdminSample;

        Button mEnableButton;
        Button mDisableButton;

        @Override
            public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
            mAM = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
            mDeviceAdminSample = new ComponentName(Controller.this, managerActivity.class);

            setContentView(R.layout.main);

        }
    }

然后在我的 list 中,我有:

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name="com.appname.managerActivity$Controller"
              android:label="@string/app_name">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.DEFAULT" />
            <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />

        </intent-filter>
    </activity>

   <!-- Device Admin Samples -->

    <receiver android:name="com.appname.managerActivity"
            android:label="@string/sample_device_admin"
            android:description="@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" />
        <intent-filter>
            <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
        </intent-filter>
    </receiver>

这是崩溃:

11-11 15:20:52.310: ERROR/AndroidRuntime(553): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.appname.manager/com.appname.managerActivity$Controller}: java.lang.InstantiationException: com.appname.managerActivity$Controller

最佳答案

嵌套类不能从其封闭类的外部创建,除非它是静态的。将您的 Activity 移至独立类(即不嵌套),或将 Activity 类设为静态。

关于android - 以管理员身份运行 Android 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8101177/

相关文章:

java - 如何在Android上使用Retrofit解析json数据

android - 我的 Droid 手机上有哪些应用程序?

c++ - Visual Studio 2005 C++ 应用程序想要以管理员身份运行

java - 从 Java 7 update 45 开始,不再可以在不触发警告的情况下查找 list 信息?

android - 底部工作表对话框高度

android - 我们如何在 android 中包含最喜欢的功能?请提供任何例子

html - 将自定义设计添加到 ActiveAdmin - rails

运行服务器和进行迁移时 Django 错误 :

installation - 尝试执行已安装的软件时, "All users"模式下的 Inno Setup 安装仍然需要非管理员用户的管理员权限

windows-8 - 根据 WinRT 的构建配置设置应用程序图标