赞
踩
探究方向:找到Default Activity
<intent-filter>
中指定action为android.intent.action.MAIN
,并设置category为android.intent.category.LAUNCHER
。当设备上的应用启动器(如Launcher应用)查找可以显示在启动器上的活动时,它会查找具有这些intent-filter设置的Activity。一、原生安卓
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <!-- android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" --> <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@drawable/logo" android:label="@string/app_name" android:roundIcon="@drawable/logo" android:supportsRtl="true" android:theme="@style/Theme.XXXXXXfX" tools:targetApi="31"> <activity android:name=".MainActivity" android:exported="true" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-permission android:name="android.permission.READ_CONTACTS"/> </manifest>
二、uniapp
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.simple"> <application android:allowBackup="true" android:allowClearUserData="true" android:icon="@drawable/icon" android:label="@string/app_name" android:largeHeap="true" android:supportsRtl="true"> <activity android:name="io.dcloud.PandoraEntry" android:configChanges="orientation|keyboardHidden|keyboard|navigation" android:label="@string/app_name" android:launchMode="singleTask" android:hardwareAccelerated="true" android:theme="@style/TranslucentTheme" android:screenOrientation="user" android:windowSoftInputMode="adjustResize" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="io.dcloud.PandoraEntryActivity" android:launchMode="singleTask" android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard|smallestScreenSize|screenLayout|screenSize|uiMode" android:hardwareAccelerated="true" android:permission="com.miui.securitycenter.permission.AppPermissionsEditor" android:screenOrientation="user" android:theme="@style/DCloudTheme" android:windowSoftInputMode="adjustResize"> <intent-filter> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <action android:name="android.intent.action.VIEW" /> <data android:scheme=" " /> </intent-filter> </activity> <meta-data android:name="dcloud_appkey" android:value="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" /> </application> </manifest>
进入io.dcloud.PandoraEntry
三、在uni-app项目中,如果你想要加入自定义的MainActivity(例如Android平台)
从这个自定义的MainActivity跳转到uni-app的默认入口io.dcloud.PandoraEntry,你需要对Android原生代码进行一些修改。uni-app是一个使用Vue.js开发所有前端应用的框架,它可以编译到iOS、Android等多个平台,但涉及到原生层面的修改时,就需要直接操作对应平台的原生代码。
以下是一个基本的步骤说明,如何在Android平台上加入自定义的MainActivity并跳转到io.dcloud.PandoraEntry:
package 你的包名; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 如果有布局文件 // 这里可以添加跳转到PandoraEntry的逻辑 // 注意:直接跳转可能需要一些额外的处理,因为PandoraEntry是uni-app的启动入口 // 通常不建议直接从这里跳转,而是让PandoraEntry作为应用的入口 } }
然而,更常见的做法是将MainActivity作为应用启动后的第一个可见页面,并在需要时通过Intent跳转到PandoraEntry。但是,请注意,PandoraEntry是uni-app的启动入口,直接修改它可能会影响应用的正常加载。
Intent intent = new Intent(this, io.dcloud.PandoraEntry.class);
startActivity(intent);
但请注意,io.dcloud.PandoraEntry可能不是直接可用的,因为uni-app的Android打包方式可能会将其封装或隐藏。在这种情况下,你可能需要查找实际生成的入口Activity名称(这通常是一个内部或隐藏的类名),或者使用uni-app提供的API或方法来触发页面跳转。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。