Android APK的安裝,AndroidAPK安裝

來源:互聯網
上載者:User

Android APK的安裝,AndroidAPK安裝

開啟packages\apps\PackageInstaller下的資訊清單檔

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"          package="com.android.packageinstaller">    <original-package android:name="com.android.packageinstaller" />    <uses-permission android:name="android.permission.INSTALL_PACKAGES" />    <uses-permission android:name="android.permission.DELETE_PACKAGES" />    <uses-permission android:name="android.permission.CLEAR_APP_CACHE" />    <uses-permission android:name="android.permission.READ_PHONE_STATE" />    <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />    <application android:label="@string/app_name">         <activity android:name=".PackageInstallerActivity"                android:configChanges="orientation|keyboardHidden"                android:theme="@style/TallTitleBarTheme">            <intent-filter>                <action android:name="android.intent.action.VIEW" />                <category android:name="android.intent.category.DEFAULT" />                <data android:scheme="content" />                <data android:scheme="file" />                <data android:mimeType="application/vnd.android.package-archive" />            </intent-filter>        </activity>        <activity android:name=".InstallAppProgress"                android:configChanges="orientation|keyboardHidden"                android:theme="@style/TallTitleBarTheme">        </activity>        <activity android:name=".UninstallerActivity"                android:configChanges="orientation|keyboardHidden"                android:theme="@style/TallTitleBarTheme">            <intent-filter>                <action android:name="android.intent.action.VIEW" />                <action android:name="android.intent.action.DELETE" />                <category android:name="android.intent.category.DEFAULT" />                <data android:scheme="package" />            </intent-filter>        </activity>        <activity android:name=".UninstallAppProgress"                android:configChanges="orientation|keyboardHidden"                android:theme="@style/TallTitleBarTheme">        </activity>    </application></manifest> 

項目布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".MainActivity" >    <EditText        android:id="@+id/et_path"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="請輸入apk的路徑" />    <Button        android:onClick="click"         android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="安裝"                /></LinearLayout>

邏輯代碼如下:

public class MainActivity extends Activity {    private EditText et_path;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        et_path = (EditText) findViewById(R.id.et_path);    }    public void click(View view) {        String path = et_path.getText().toString().trim();        /*         * <action android:name="android.intent.action.VIEW" /> <category         * android:name="android.intent.category.DEFAULT" /> <data         * android:scheme="content" /> <data android:scheme="file" /> <data         * android:mimeType="application/vnd.android.package-archive" />         */        Intent intent = new Intent();        intent.setAction("android.intent.action.VIEW");        intent.addCategory("android.intent.category.DEFAULT");        intent.setDataAndType(Uri.fromFile(new File(path)), "application/vnd.android.package-archive");        startActivity(intent);    }}

首先需要AndroidManifest.xml中加入安裝程式許可權:
<!-- 安裝程式許可權 -->
<uses-permission android:name="android.permission.INSTALL_PACKAGES"/>

接著將一個名為girl.apk的apk匯入sdcard,然後運行項目效果如下

點擊安裝

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.