Tôi muốn khởi động ứng dụng của mình ngay sau khi khởi động điện thoại. Rõ ràng các ứng dụng được bắt đầu sau khi khởi động nhưng nó ngay lập tức treo (chỉ để được rõ ràng các ứng dụng bình thường hoạt động tốt). Tôi đã đọc và thử các giải pháp khác nhau (link1, link2) và thực sự cùng một mã hoạt động tốt với một ứng dụng khác mà tôi đang phát triển. Dưới đây là các mã:Bắt đầu hoạt động khi khởi động
AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.bluetoothx10y"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="6"
android:targetSdkVersion="15" />
<uses-feature android:name="android.hardware.usb.accessory"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<receiver
android:name=".StartMyActivityAtBootReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:screenOrientation="landscape" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"/>
</intent-filter>
<meta-data
android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"
android:resource="@xml/accessory_filter">
</meta-data>
</activity>
<activity android:name=".DeviceListActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Dialog"
android:screenOrientation="landscape" />
</application>
</manifest>
StartMyActivityAtBootReceiver.java:
public class StartMyActivityAtBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
Intent myStarterIntent = new Intent(context, MainActivity.class);
myStarterIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myStarterIntent);
}
}
}
Nó có thể được liên quan đến thực tế là tôi đang sử dụng rất nhiều các điều khoản sử dụng?
mô tả vấn đề của bạn là gì chính xác? – Tarun
Ứng dụng chỉ đơn giản là treo sau khi khởi động ... chỉ để được rõ ràng các ứng dụng bình thường hoạt động tốt. – STiLLeN
bạn có stacktrace không? – Tarun