2017-11-08 6 views
1

Android 5.1デバイスで画面のピン配置を実装しようとしています。私はThis Answerを見つけ、intent-filterを私のマニフェストに追加しようとすると、私はこのエラーを受け取ります:Cannot resolve symbol '@xml/device_admin'シンボル「@ xml/device_admin」を解決できません

xml/device_adminが存在しないと仮定します。その場合はどこで作成しますか?

私のマニフェスト

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="MY_PACKAGE"> 

    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:roundIcon="@mipmap/ic_launcher_round" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
      <intent-filter> 
       <action android:name="android.app.action.PROFILE_PROVISIONING_COMPLETE" /> 
      </intent-filter> 
     </activity> 

     <receiver 
      android:name=".MyDeviceAdminReceiver" 
      android:label="@string/app_name" 
      android:permission="android.permission.BIND_DEVICE_ADMIN"> 
      <meta-data 
       android:name="android.app.device_admin" 
       android:resource="@xml/device_admin" /> 

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

    </application> 

</manifest> 

マイMainActivity

package MY_PACKAGE; 

import android.content.ComponentName; 
import android.content.Context; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.KeyEvent; 
import android.webkit.WebSettings; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 
import android.app.admin.*; 

public class MainActivity extends AppCompatActivity { 

    private WebView mWebView; 
    private static final String TAG = "MainActivity"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     ComponentName deviceAdmin = new ComponentName(this, MyDeviceAdminReceiver.class); 
     DevicePolicyManager mDpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); 

     mWebView = (WebView) findViewById(R.id.activity_main_webview); 

     // Enable Javascript 
     WebSettings webSettings = mWebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 

     mWebView.setWebViewClient(new WebViewClient()); 
     mWebView.loadUrl("my_website.com"); //Note that this is a placeholder website. 

     if (mDpm.isDeviceOwnerApp(getPackageName())) { 
      mDpm.setLockTaskPackages(deviceAdmin, new String[]{getPackageName()}); 
     } 

     if (mDpm.isLockTaskPermitted(this.getPackageName())) 
      startLockTask(); 

//  try { 
//   Runtime.getRuntime().exec("dpm set-device-owner MY_PACKAGE/.MyDeviceAdminReceiver"); 
//  } catch (Exception e) { 
//   Log.e(TAG, "device owner not set"); 
//   Log.e(TAG, e.toString()); 
//   e.printStackTrace(); 
//  } 

     try { 
      startLockTask(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

    @Override 
    public void onBackPressed() { 
     if(mWebView.canGoBack()) { 
      mWebView.goBack(); 
     } else { 
      System.out.print("LOCKED IN PLACE!"); 
     } 
    } 



} 
+0

こちらを参照してください。 –

答えて

1

I assume this is because xml/device_admin doesn't exist, so if this is the case, where do I create it?

device_admin.xmlファイルの

構造が

012で、このXMLフォルダ内のファイル device_admin.xmlを保つ階層 application/src/main/res/xmlにフォルダを作成します。 https://developer.android.com/guide/topics/admin/device-admin.html:
<device-admin xmlns:android="http://schemas.android.com/apk/res/android"> 
    <uses-policies> 
    <limit-password /> 
    <watch-login /> 
    <reset-password /> 
    <force-lock /> 
    <wipe-data /> 
    <expire-password /> 
    <encrypted-storage /> 
    <disable-camera /> 
    </uses-policies> 
</device-admin> 

Device_admin GuideLine

関連する問題