Android開機自動啟動app 不鎖屏

來源:互聯網
上載者:User

標籤:開機   android   

主要參考:http://life173.blog.51cto.com/2035365/543916/

實現功能,開機後自動啟動FirstActivity,並且不用解鎖。

貼出源碼:

主要是在設定檔中配置:

 

  <receiver android:enabled="true" android:name=".BootUpReceiver"            android:permission="android.permission.RECEIVE_BOOT_COMPLETED">            <intent-filter>                    <action android:name="android.intent.action.BOOT_COMPLETED" />                    <category android:name="android.intent.category.DEFAULT" />            </intent-filter>      </receiver>
及增加許可權:  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />  整個源碼:<manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.activitytest"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="19" />   <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />      <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity             android:name=".FirstActivity"             android:label="this is my first Activity" >                <intent-filter >                 <action android:name="android.intent.action.MAIN"/>                 <category android:name="android.intent.category.LAUNCHER"/>             </intent-filter>                                </activity>        <receiver android:enabled="true" android:name=".BootUpReceiver"            android:permission="android.permission.RECEIVE_BOOT_COMPLETED">            <intent-filter>                    <action android:name="android.intent.action.BOOT_COMPLETED" />                    <category android:name="android.intent.category.DEFAULT" />            </intent-filter>            </receiver>            </application></manifest>

增加BootUpReceiver 類,FirstActivity就是你要開啟啟動的活動;

package com.example.activitytest;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;public class BootUpReceiver extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        // TODO Auto-generated method stub         Intent i = new Intent(context,FirstActivity.class);         i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);         context.startActivity(i);    }}要啟動的類:FirstActivity.java package com.example.activitytest;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class FirstActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState){        super.onCreate(savedInstanceState);        //requestWindowFeature(Window.FEATURE_NO_TITLE);//要使用Menu 注釋掉這句        getWindow().setFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD,                WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);//開機不鎖屏 設定         setContentView(R.layout.first_layout);        Button button1 = (Button)findViewById(R.id.button_1);        button1.setOnClickListener(new OnClickListener(){            @Override            public void onClick(View v){                //Toast.makeText(FirstActivity.this,"you click button1", Toast.LENGTH_SHORT).show();                Intent intent = new Intent(Intent.ACTION_VIEW);                intent.setData(Uri.parse("http://www.baidu.com"));//setData,設定data標籤  主要是tel,這個不能少                 startActivity(intent);            }        });            }    @Override    public boolean onCreateOptionsMenu(Menu menu){        getMenuInflater().inflate(R.menu.main, menu);        return true;//允許建立的菜單顯示出來    }    @Override    public boolean onOptionsItemSelected(MenuItem item){        switch(item.getItemId()){        case R.id.add_item:            Toast.makeText(this, "you click add",Toast.LENGTH_SHORT).show();            break;        case R.id.remove_item:            Toast.makeText(this, "you click remove", Toast.LENGTH_SHORT).show();            break;        default: break;        }        return true;    }      }

PS: 開啟啟動這個app,需要解屏後稍等一會,才能啟動;啟動APP需要一定時間。

其實還可以在開機啟動時設定不鎖屏。

   getWindow().setFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD,
                WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);//開機不鎖屏 設定 放在這個前面。

    setContentView(R.layout.first_layout);

本文出自 “7124048” 部落格,請務必保留此出處http://7134048.blog.51cto.com/7124048/1833406

Android開機自動啟動app 不鎖屏

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.