该应用程序适用于AVD,但不适用于真实设备

时间:2014-08-29 10:45:14

标签: java android

我的项目确实存在很大问题。当我的手机通过USB线连接到电脑时,一切正常,但当手机断开连接时,应用程序无法正常工作。所以,我已经尝试使用android.os.Debug.waitForDebugger(),我删除了所有@SuppressLint("NewApi"),同时在我的手机上激活了USB调试器,但我认为问题可能在Manifest文件中。有人能告诉我,在这种情况下可以做些什么?

<?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毫秒,应用程序工作,但当我放60000毫秒时,如果电缆断开,我的应用程序不起作用。

 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 个答案:

答案 0 :(得分:0)

您很可能已在设置菜单中的“开发者”选项中启用了“保持清醒&#34; - 模式”。当您断开手机与充电器的连接时,它将在几秒钟后进入睡眠模式。

解决方案是使用PowerManager或(在上述情况下)使用PendingIntent和AlarmManager使用部分唤醒锁定以便稍后触发事件。