전화 잠금 장치에서이 으로 작업하고 있습니다. 내 Samsung Tab 2에서 잘 작동합니다.하지만 Nexus 2에서 동일한 코드를 실행할 때 작동하지 않습니다. 아래에 몇 가지 코드를 게시했습니다. 로그에 "DeviceAdminSample" "Admin enable FAILED!"
이 기록됩니다. 어떤 도움을 주시면 감사하겠습니다 !! Nexus에 대한 제한 사항이 있습니까?일부 장치에서 deviceManger.lockNow()가 작동하지 않습니다.
onCreate()
{
deviceManger = (DevicePolicyManager)getSystemService(
Context.DEVICE_POLICY_SERVICE);
activityManager = (ActivityManager)getSystemService(
Context.ACTIVITY_SERVICE);
compName = new ComponentName(this, MyAdmin.class);
}
private void EnableSetting() {
// TODO Auto-generated method stub
Intent intent = new Intent(DevicePolicyManager
.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
compName);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
"Additional text explaining why this needs to be added.");
startActivityForResult(intent, RESULT_ENABLE);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case RESULT_ENABLE:
if (resultCode == Activity.RESULT_OK) {
Log.i("DeviceAdminSample", "Admin enabled!");
} else {
Log.i("DeviceAdminSample", "Admin enable FAILED!");
}
}
감사합니다. 주요 활동
public class LockerTest extends Activity {
protected static final int REQUEST_ENABLE = 0;
DevicePolicyManager devicePolicyManager;
ComponentName adminComponent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.btn);
button.setOnClickListener(btnListener);
}
Button.OnClickListener btnListener = new Button.OnClickListener() {
public void onClick(View v) {
adminComponent = new ComponentName(LockerTest.this, Darclass.class);
devicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
if (!devicePolicyManager.isAdminActive(adminComponent)) {
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, adminComponent);
startActivityForResult(intent, REQUEST_ENABLE);
} else {
devicePolicyManager.lockNow();
}
}
};
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (REQUEST_ENABLE == requestCode) {
super.onActivityResult(requestCode, resultCode, data);
}
}
}
에 대한
답장을 보내 주셔서 감사합니다. 나는 같은 코드를 사용하고있다. 그러나 그것의 보여주는'@Override에 로그는 무효 onActivityResult (int requestCode, int resultCode, 의도 데이터) { if (REQUEST_ENABLE == requestCode) { super.onActivityResult (requestCode, resultCode, data); } } '..이'else' 조건을 수행하고 있습니다. 내 'onActivityResult'를 확인하십시오. –