开机就显示自己写的应用主界面

    xiaoxiao2021-12-14  21

    以下两种方法都试过了,可以用! 首先在清单文件添加权限:<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 然后创建一个广播类,代码如下:package com.example.administrator.newapp; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.util.Log; import com.example.administrator.newapp.MainActivity; /**  * Created by Administrator on 2016/12/1.  */ public class LocationLoggerServiceManager extends BroadcastReceiver {     public static final String TAG = "customTag";     @Override     public void onReceive(Context context, Intent intent) {         if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {             ComponentName comp = new ComponentName(context.getPackageName(), MainActivity.class.getName());             context.startActivity(new Intent().setComponent(comp).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));         } else {             Log.e(TAG, "Received unexpected intent " + intent.toString());         }     } } 第三步在清单文件写: <receiver             android:name=".LocationLoggerServiceManager"             android:enabled="true"             android:exported="false"             android:label="LocationLoggerServiceManager">         <intent-filter>         <action android:name="android.intent.action.BOOT_COMPLETED"/>         </intent-filter>         </receiver> 好了,重新开机,就可以了! 第二种方法:和第一种差不多: https://zhidao.baidu.com/question/875702278060777652.html 首先:public class BootupReceiver extends BroadcastReceiver{    @Override  public void onReceive(Context context, Intent intent) {    //better delay some time.    try {  Thread.sleep(2000);  } catch (InterruptedException e) {  // TODO Auto-generated catch block    e.printStackTrace();  }  Intent i = new Intent(context, BootupDemoActivity.class);  i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  context.startActivity(i);    }   } 然后在Manifest文件中定义该Broadcast Receiver <receiver android:name=”.BootupReceiver” android:enabled=”true” android:permission=”android.permission.RECEIVE_BOOT_COMPLETED”> <intent-filter> <action android:name=”android.intent.action.BOOT_COMPLETED”></action> <category android:name=”android.intent.category.DEFAULT” /> </intent-filter> </receiver> 3. 加上所需权限 <uses-permission android:name=”android.permission.RECEIVE_BOOT_COMPLETED” /> 这些,但手机重启示会自动运行你的应用。 不过此时你的应用可能会被屏幕锁定挡住。解除屏幕锁定后可以看到你运行的应用。 如果想用户一开机就看到你的应用,可以使用代码就屏幕锁去除,方法如下: 1. 在Activity的onCreate事件处理中添加下面代码 [java] KeyguardManager keyguardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE); KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);   lock.disableKeyguard(); KeyguardManager keyguardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE); KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);   lock.disableKeyguard(); 2. 在Manifest文件中添加所需权限 <uses-permission android:name=”android.permission.DISABLE_KEYGUARD” />
    转载请注明原文地址: https://ju.6miu.com/read-969327.html

    最新回复(0)