我有Android应用程序及其工作良好,但现在我需要在Android设备打开时自动打开应用程序我尝试了很多解决方案,但它无法正常工作,
请问有什么想法吗?我试过这样但没有工作
public class Bootup extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equalsIgnoreCase(Intent.ACTION_BOOT_COMPLETED)) {
Toast.makeText(context, "Reboot completed! Starting your app!!!.", Toast.LENGTH_LONG).show();
Intent i = new Intent(context, AutoStart.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startService(i);
}
}
}
答案 0 :(得分:0)
根据以下帖子:
How to start an Application on startup?
您可能需要Receive_boot_completed权限。帖子中有两个答案,显示如何在应用启动时启动活动或服务。
答案 1 :(得分:0)
当您打开手机时,会播放一个意图。它的android.intent.action.BOOT_COMPLETED
。
如果您通过广播的接收器接收到该意图,那么您可以检测设备是否已打开。
广播接收器:
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context aContext, Intent aIntent) {
// ToDo: Whatever I need at immediately after bootstrap
Toast.makeText(aContext, "This message phone is turned on!", Toast.LENGTH_LONG).show();
Log.e("..BOOT_ACTION_NAME...", "This message phone is turned on!");
}}
宣言声明:
<receiver
android:name="com.example.testing_demo.BootReceiver"
android:enabled="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.SCREEN_ON" />
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
将清单代码放在应用程序标记内。