如何在android版本3.1及更高版本中启动完成后启动应用程序



我从这里了解到 android 版本 3.1 及更高版本不支持启动完成意图。但是在我的应用程序中。我想在设备重新启动后在我的应用程序中自动启动服务。我不希望用户手动启动我的应用程序。我该怎么做?提前感谢您的帮助。

是什么让你认为ACTION_BOOT_COMPLETED广播不再发送?我经常使用它,其他人也是如此。只需确保您在清单中具有RECEIVE_BOOT_COMPLETED权限即可。

请尝试以下步骤在启动后启动应用程序:

创建一个扩展 BroadcastReceiver 的类:

     public class AutostartService extends BroadcastReceiver {  
      @Override  
      public void onReceive(Context context, Intent intent) {
      System.out.println("in broad....");
       if ((intent.getAction() != null) && (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")))
    {
        System.out.println("in broadcast receiver.....");
        Intent i = new Intent(context, Splash.class);  
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
        context.startActivity(i);  
         }
        }
     }

并在安卓清单文件中添加以下内容:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

        <receiver android:name=".AutostartService"   android:enabled="true" 
        android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
        </receiver>  

好吧,这现在已经很老了,可能大多数人都学会了它,但仍然可能有用。

从 3.1+ 及更高版本开始,为了接收BOOT_COMPLETED,您的应用必须至少由用户启动一次。

注意:此规则不适用于/system应用

相关内容

  • 没有找到相关文章

最新更新