2017-09-27 5 views
0

내부 스마트 폰 저장 공간의 카메라 폴더에있는 모든 파일을 삭제하기를 원합니다!종료 전에 삭제하십시오! C# android

어떻게하면됩니까?

namespace App1 
{ 
    [Activity(Label = "App1", MainLauncher = true, Icon = "@drawable/icon")] 
    public class MainActivity : Activity 
    { 
     protected override void OnCreate(Bundle bundle) 
     { 
      base.OnCreate(bundle);   
      SetContentView (Resource.Layout.Main); 

      Button delete = FindViewById<Button>(Resource.Id.deleteid); 

      delete.Click += delegate 
      { 
       File dir = new File(Environment.GetExternalStoragePublicDirectory(Environment.DirectoryDcim), "/Camera"); 

       if (dir.IsDirectory) 
        { 
         int i = 0; 
         string[] children = dir.List(); 
          while (i < children.Length) 
         { 
         var file = new File(dir, children[i]).Delete(); 


          i++; 
         } 

         Toast.MakeText(this, "The folder exist", ToastLength.Short).Show(); 
        } 

        else 
        { 
         Toast.MakeText(this, "Not Works", ToastLength.Short).Show(); 
        } 
      }; 
     } 
    } 

} 

이 코드를 사용하여 폴더의 콘텐츠를 삭제하려고했지만 앱이 다운되었습니다.

+0

충돌의 예외/스택 추적은 무엇입니까 !! ;-) – SushiHangover

답변

0

수신 대기 이벤트를 수신 할 수신기를 만들어야합니다.

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
: 당신이 할 수있는 권한이 있는지 확인, 슈어을 삭제 사용자 데이터,

<action android:name="android.intent.action.ACTION_SHUTDOWN" /> 
<action android:name="android.intent.action.QUICKBOOT_POWEROFF" /> 

또한이 요구를 들어 당신은 클래스 서비스를 구현해야하고 매니페스트 파일에 다음 줄을 추가 할 foget하지 않습니다

+0

고마워요! 전화가 종료되기 전에 파일을 삭제하려면 서비스를 만들어야합니까? –

+0

예. 이 기사 읽기 https://developer.xamarin.com/guides/android/application_fundamentals/services/creating-a-service/ –