国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

安卓App自啟動(dòng),兩種不同的方式?。?!支持到安卓4.4

這篇具有很好參考價(jià)值的文章主要介紹了安卓App自啟動(dòng),兩種不同的方式!??!支持到安卓4.4。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

初衷

自己給車(chē)機(jī)買(mǎi)了CarPlay盒子,但是車(chē)機(jī)啟動(dòng)后需要點(diǎn)擊App才能使用,十分拉閘?。?!所以做了這個(gè)自啟動(dòng)器。

README!

因?yàn)?br> 它是apk文件
它是基于安卓4.4開(kāi)發(fā)的

所以
它能安裝到所有的安卓平臺(tái)上
它只能安裝到安卓4.4以后的機(jī)子上

開(kāi)發(fā)

開(kāi)機(jī)程序自啟代碼【主要在AndroidManifest.xml】

// An highlighted block
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    android:installLocation="internalOnly"
    xmlns:tools="http://schemas.android.com/tools">

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <!--    懸浮窗-->
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

    <application
        android:allowBackup="true"
        android:dataExtractionRules="@xml/data_extraction_rules"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.MyApplication"
        tools:targetApi="31">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.APP_MAPS"/>
                <category android:name="android.intent.category.HOME" />
                <category android:name="android.intent.category.DEFAULT" />

            </intent-filter>

            <meta-data
                android:name="android.app.lib_name"
                android:value="" />
        </activity>
        <receiver
            android:name=".BaseReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter android:priority="1000">
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
    </application>

</manifest>

主要的邏輯代碼

//展示包名
        try {
            Context ctx = MainActivity.this;
            PackageManager packageManager = ctx.getPackageManager();
            //獲取所有安裝的app
            List<PackageInfo> installedPackages = packageManager.getInstalledPackages(0);
            ArrayList<String> listItem = new ArrayList<String>();
            for(PackageInfo info : installedPackages){
                String packageName = info.packageName;//app包名
                ApplicationInfo ai = packageManager.getApplicationInfo(packageName, 0);
                String appName = (String) packageManager.getApplicationLabel(ai);//獲取應(yīng)用名稱(chēng)
                String showItem = appName + "____" + packageName;
                listItem.add(showItem);
            }
            ArrayAdapter<String> adapter =new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,listItem);

            listView.setAdapter(adapter);
            listView.setOnItemClickListener(new MyOnItemClickListener());
        }catch (Exception ex){}
        //申請(qǐng)懸浮窗權(quán)限
        try{
            //檢查是否已經(jīng)授予權(quán)限,大于6.0的系統(tǒng)適用,小于6.0系統(tǒng)默認(rèn)打開(kāi),無(wú)需理會(huì)
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && !Settings.canDrawOverlays(this)) {
                //沒(méi)有權(quán)限,須要申請(qǐng)權(quán)限,由于是打開(kāi)一個(gè)受權(quán)頁(yè)面,因此拿不到返回狀態(tài)的,因此建議是在onResume方法中重新執(zhí)行一次校驗(yàn)
                Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
                intent.setData(Uri.parse("package:" + getPackageName()));
                startActivity(intent);
            }
        }catch (Exception ex){}
        //啟動(dòng)跳轉(zhuǎn)程序
        String ss = "";
        try{
            //啟動(dòng)從文件中讀取包名字
            Context ctx = MainActivity.this;
            SharedPreferences sp = ctx.getSharedPreferences("SP", MODE_PRIVATE);
            EditText editText = findViewById(R.id.txtPackName);
            editText.setText(sp.getString("PKG", "none"));
            ss = sp.getString("PKG", "none");
        }catch (Exception ex){}
        //第一種方式啟動(dòng)
        try {
            if(!ss.equals("none")){
                Intent intent = getPackageManager().getLaunchIntentForPackage(ss);
                if (intent != null) {
                    intent.putExtra("type", "110");
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    startActivity(intent);
                }
            }
        }
        catch(Exception ex) {}
        //第二種方式啟動(dòng)
        try {
            if(!ss.equals(("none"))){
                Intent intent = new Intent();
                ComponentName cn = new ComponentName(ss, ss+".MainActivity");
                intent.setComponent(cn);
                startActivity(intent);
            }
        }catch (Exception ex){}

效果

啟動(dòng)后調(diào)到對(duì)應(yīng)的App
安卓車(chē)機(jī)自啟動(dòng)管理軟件,平時(shí)經(jīng)歷,android

結(jié)語(yǔ)

接觸Android半天,簡(jiǎn)單搞了一下的作品,大佬手下留情,望海涵!
ps:
坑是真多
1、Debug的apk安裝不到車(chē)機(jī)上
2、自己的安卓車(chē)機(jī)是廠家定制的沒(méi)有開(kāi)機(jī)廣播…所以把應(yīng)用做成了桌面應(yīng)用
3、Android studio竟然是全英文的,沒(méi)有官方漢化…
都是淚…文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-523555.html

到了這里,關(guān)于安卓App自啟動(dòng),兩種不同的方式?。?!支持到安卓4.4的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • selenium兩種代理方式(方式二支持賬號(hào)密碼驗(yàn)證)

    https://registry.npmmirror.com/binary.html?path=chromedriver/ 以下方式均實(shí)機(jī)測(cè)試過(guò)。 方式一 無(wú)需驗(yàn)證,只需填寫(xiě)代理IP和端口號(hào) 方式二 通過(guò)生成插件并加載通過(guò)代理驗(yàn)證,需要填寫(xiě)代理IP、端口號(hào)、驗(yàn)證賬號(hào)和密碼,該方式缺點(diǎn)是不支持后臺(tái)靜默運(yùn)行(headless)

    2024年02月11日
    瀏覽(20)
  • 安卓音視頻開(kāi)發(fā)(3)—— AudioTrack兩種方式播放pcm音頻

    前言 之前學(xué)習(xí)了AudioRecord錄制pcm音頻,與之對(duì)應(yīng)的就是AudioTrack播放pcm音頻(MediaPlayer、SoundPool有其他應(yīng)用場(chǎng)景),它有兩種數(shù)據(jù)加載模式(MODE_STATIC、MODE_STREAM)。 模式 MODE_STATIC :這種模式下,一次將所有的數(shù)據(jù)放入一個(gè)固定的buffer,然后寫(xiě)入到AudioTrack中,后續(xù)就不用繼續(xù)

    2023年04月22日
    瀏覽(26)
  • win自啟動(dòng)jar包兩種方式

    方式一 將jar包做成exe服務(wù),可以實(shí)現(xiàn)自啟動(dòng)的方式。 方式二 將jar使用bat腳本啟動(dòng),再通過(guò)vbs腳本控制bat腳本后臺(tái)啟動(dòng),避免黑窗口的出現(xiàn),進(jìn)行開(kāi)啟自啟動(dòng)。 方式一:服務(wù)模式 環(huán)境安裝,電腦需要安裝Microsoft.NETFramework 4,如果有的話(huà)可以不安裝 下載 WinSW.NET4.exe 和 sample-

    2024年02月08日
    瀏覽(17)
  • Nginx配置同時(shí)支持http和https兩種方式訪(fǎng)問(wèn)

    Nginx配置同時(shí)支持http和https兩種方式訪(fǎng)問(wèn)

    http: https: Nginx的ssl模塊安裝 進(jìn)入到目錄的sbin目錄下,輸入 如果出現(xiàn) (configure arguments: --with-http_ssl_module), 則已安裝(下面的步驟可以跳過(guò),直接進(jìn)行第五步)。 一般情況下都是不存在ssl模塊的,接下來(lái)進(jìn)入到你的解壓縮后的nginx目錄,注意這里不是nginx安裝目錄,是解壓縮后

    2024年02月13日
    瀏覽(24)
  • 樹(shù)莓派設(shè)置開(kāi)機(jī)自啟動(dòng)的兩種設(shè)置方式

    樹(shù)莓派可通過(guò)兩種方式來(lái)設(shè)置樹(shù)莓派的開(kāi)機(jī)自啟動(dòng)功能: 一、配置rc.local文件設(shè)置樹(shù)莓派開(kāi)機(jī)啟動(dòng)項(xiàng) 編輯/etc/rc.local文件 在文件中的 exit 0 之前添加需要執(zhí)行的程序,注意要使用絕對(duì)路徑,如下 特別注意,如果程序是阻塞的,則須加上 ? ? 符號(hào)以在后臺(tái)運(yùn)行,否則系統(tǒng)無(wú)法啟

    2023年04月20日
    瀏覽(27)
  • windows環(huán)境下nacos單機(jī)啟動(dòng)兩種方式

    windows環(huán)境下nacos單機(jī)啟動(dòng)兩種方式

    第一種啟動(dòng)方式: 進(jìn)入nacos的解壓目錄bin下 以notepad++方式打開(kāi)startup.cmd 然后修改大概在26行的set MODE=\\\"cluster\\\"為set MODE=\\\"standalone\\\"(下面配有大致圖片) 然后直接點(diǎn)擊startup.cmd命令,就啟動(dòng)成功了(注意查看日志\\\"nacos id starting with standalone\\\") 第二種啟動(dòng)方式: 在黑窗體環(huán)境下切換目錄到

    2024年02月11日
    瀏覽(16)
  • C++中cin >> str 和 string類(lèi)的getline(cin, str) 用來(lái)讀取用戶(hù)輸入的兩種不同方式的不同點(diǎn)

    C++中cin >> str 和 string類(lèi)的getline(cin, str) 用來(lái)讀取用戶(hù)輸入的兩種不同方式的不同點(diǎn)

    <string>的getline()函數(shù)語(yǔ)法如下【https://cplusplus.com/reference/string/string/getline/】: 其中,is是輸入流對(duì)象;str是目標(biāo)字符串對(duì)象;delim是可選參數(shù),表示定界符(分隔符,默認(rèn)為換行符\\\'n\\\')。 使用getline()函數(shù)時(shí),它會(huì)從輸入流中讀取一行文本,并將讀取到的內(nèi)容存儲(chǔ)到目標(biāo)字符

    2024年02月11日
    瀏覽(21)
  • Android不同APP之間共享數(shù)據(jù)的方式

    今天給大家介紹三種不同APP之間共享數(shù)據(jù)的方式 第一種:使用SharePreference 使用SharePreference共享數(shù)據(jù) 第二種:使用ContentProvider, 這個(gè)就不仔細(xì)講了,大家看看其他文章吧 第三種:sharedUserId 通過(guò)SharedUser id,擁有同一個(gè)User id的多個(gè)APK可以配置成運(yùn)行在同一個(gè)進(jìn)程中.所以默認(rèn)就是

    2024年02月10日
    瀏覽(18)
  • Selenium手動(dòng)和自動(dòng)兩種方式啟動(dòng)Chrome驅(qū)動(dòng)

    要使用Selenium自動(dòng)跟隨自帶的Chrome驅(qū)動(dòng),你需要首先確保你已經(jīng)安裝了Selenium庫(kù)和Chrome驅(qū)動(dòng)。然后,你可以按照以下步驟進(jìn)行操作: 導(dǎo)入必要的庫(kù): 創(chuàng)建一個(gè)Chrome WebDriver實(shí)例: 這將自動(dòng)根據(jù)系統(tǒng)中安裝的Chrome瀏覽器版本使用正確的驅(qū)動(dòng)程序。 使用WebDriver執(zhí)行自動(dòng)化操作,例

    2024年02月12日
    瀏覽(23)
  • uni-app中代理的兩種配置方式

    uni-app中代理的兩種配置方式

    方式一: 在項(xiàng)目的 manifest.json 文件中點(diǎn)擊 源碼視圖 在最底部的vue版本下編寫(xiě)代理代碼 方式二: 在項(xiàng)目中創(chuàng)建?vue.config.js 文件然后進(jìn)行配置 在頁(yè)面中發(fā)起請(qǐng)求? 完整的url:http://c.m.163.com/recommend/getChanListNews?channel=T1457068979049size=10 總結(jié):代理的配置是為了解決發(fā)起請(qǐng)求時(shí)的跨域

    2024年01月23日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包