Android应用仅在手机使用USB线连接到计算机时启动

时间:2014-07-16 18:35:51

标签: android

我有一个奇怪的问题。

我开发了android应用程序并使用USB线缆部署到Android手机。

仅当手机使用电缆连接到计算机时,应用程序才会启动。启动后,我可以断开电缆,应用程序仍然正常运行。

看起来,对于应用程序启动,它需要计算机连接。

任何想法为什么?

以下是我的Android清单。

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              package="com.test"
              android:installLocation="auto" 
              android:versionName="0.5.14" 
              android:versionCode="33"
              >
      <uses-sdk android:minSdkVersion="19" android:targetSdkVersion="19"/>
      <supports-screens android:xlargeScreens="true"
                        android:largeScreens="true"
                        android:normalScreens="true"
                        android:smallScreens="true" />
      <uses-feature android:name="android.hardware.camera.autofocus" />
      <uses-feature android:name="android.hardware.camera.flash" android:required="false" />
      <uses-feature android:name="android.hardware.camera"/>
      <uses-feature android:name="android.hardware.screen.landscape"/>

      <application android:icon="@drawable/bay"
                   android:label="@string/app_name">
        <activity android:name=".CaptureActivity"
                  android:screenOrientation="landscape"
                  android:configChanges="orientation|keyboardHidden|screenSize"
                  android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
                  android:windowSoftInputMode="stateAlwaysHidden"              
                  >
          <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
            <action android:name="com.google.android.glass.action.VOICE_TRIGGER" />
          </intent-filter>
           <meta-data
               android:name="com.google.android.glass.VoiceTrigger"
               android:resource="@xml/voice_trigger_start" />
          </activity>
        <activity android:name=".HelpActivity"
                  android:screenOrientation="user">
          <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT"/>
          </intent-filter>
        </activity>

        <activity android:name=".PreferencesActivity" />
      </application>
      <uses-permission android:name="android.permission.CAMERA"/>
      <uses-permission android:name="android.permission.INTERNET"/>
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
      <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
      <uses-permission
         android:name="com.google.android.glass.permission.DEVELOPMENT" />
    </manifest>

1 个答案:

答案 0 :(得分:2)

为了调试我们应用程序的最早代码,我们使用android.os.Debug.waitForDebugger()添加调用,这将使我们的应用程序等待调试程序附加。

在某些情况下,我们会将此调用置于阻止活动生命周期的方法中,例如onCreate()。在这些情况下,如果设备未连接,则android无法连接到调试器并且kepps将永远等待。

因此,请在活动生命周期中查找该调用,如果找到则将其删除。