2014-08-29 2 views
0

저는 정말 내 프로젝트에 큰 문제가 있습니다. 휴대 전화가 USB 케이블을 통해 컴퓨터에 연결되면 모든 것이 정상적으로 작동하지만 전화가 끊기면 앱이 예상대로 작동하지 않습니다. 그래서, 나는 이미 android.os.Debug.waitForDebugger()으로 시도했지만, 나는 @SuppressLint("NewApi")을 모두 삭제했다. 또한 USB 디버거가 내 전화기에서 작동하지만, 문제는 Manifest 파일에있을 수 있다고 생각한다. 누군가이 사건에서 무엇을 할 수 있는지 말해 줄 수 있습니까?응용 프로그램은 AVD에서 제대로 작동하지만 실제 장치에서는 작동하지 않습니다.

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.example.androproject" 
     android:versionCode="1" 
     android:versionName="1.0" > 
<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="21" /> 
    <application 
     android:allowBackup="true" 
     android:icon="@drawable/fritz_logo" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" 
     > 
     <activity 
      android:windowSoftInputMode="adjustPan" 
      android:name="com.example.androproject.MainActivity" 
      android:label="@string/app_name" 
      android:screenOrientation="portrait" 
      android:theme="@style/ThemeWithCorners" 
      android:configChanges="keyboardHidden|orientation"> 
    <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 

     </activity>  
     <activity 
      android:name="com.example.androproject.RegisterDnsAndUser" 
      android:screenOrientation="portrait" 
      android:theme="@style/ThemeWithCorners" 
      android:configChanges="keyboardHidden|orientation"/>    
     <activity 
      android:name="com.example.androproject.MenuApp" 
      android:screenOrientation="portrait" 
      android:theme="@style/ThemeWithCorners"    
      android:configChanges="keyboardHidden|orientation"/>    
    </application> 
</manifest> 

다음 핸들러 코드를 사용하고 있습니다. 40000 ms를 입력하면 응용 프로그램이 작동하지만 60000 ms를 입력하면 케이블이 연결되어 있지 않으면 응용 프로그램이 작동하지 않습니다.

handler.postDelayed(myRunnable = new Runnable(){ 
       @Override 
       public void run() {       
        if(btnToggle.isChecked()){ 
         btnToggle.setChecked(false); 
         btnToggleTimer.setChecked(false);     
        }else{ 
         btnToggle.setChecked(true); 
         btnToggleTimer.setChecked(false); 
        }  
       }     
       }, min*60000); 
+1

"앱이 예상대로 작동하지 않습니다"에 대한 자세한 내용을 제공 할 수 있습니까? 정확하게 당신은 다른 것을 어떻게 보나요? – Marius

+0

은 avd 및 장치와 동일한 API 수준입니까? 우리는 더 많은 세부 사항이 필요합니다! –

+0

그래, 이미 자세한 내용을 편집하고 있습니다. 예, 그들은 동일한 API 수준입니다. – Soyer

답변

0

대부분의 경우 설정 메뉴의 개발자 옵션에서 "깨어있는 상태"모드를 사용하도록 설정했을 수 있습니다. 충전기에서 휴대폰을 분리하면 몇 초 후에 휴대폰이 절전 모드로 들어갑니다.

해결 방법은 PowerManager을 사용하는 부분 웨이크 록을 사용하거나 (위의 경우) PendingIntent를 사용하고 AlarmManager을 사용하여 나중에 이벤트를 트리거하는 것입니다.

+0

동일합니다. 40000 ms는 잘 작동하지만 1 분으로 설정하면 작동하지 않습니다. – Soyer

+0

아이디어가 효과가 없습니다. –

관련 문제