我有一个奇怪的问题。
我开发了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>
答案 0 :(得分:2)
为了调试我们应用程序的最早代码,我们使用android.os.Debug.waitForDebugger()
添加调用,这将使我们的应用程序等待调试程序附加。
在某些情况下,我们会将此调用置于阻止活动生命周期的方法中,例如onCreate()
。在这些情况下,如果设备未连接,则android无法连接到调试器并且kepps将永远等待。
因此,请在活动生命周期中查找该调用,如果找到则将其删除。