android應用程序的安裝與卸載

jopen 10年前發布 | 22K 次閱讀 Android Android開發 移動開發

程序的安裝與卸載在實際開發中也很常見,尤其是安裝,在版本更新中必然會有。直接上示例:

MainActivity:

 

    import java.io.File;  

    import android.app.Activity;  
    import android.content.Intent;  
    import android.net.Uri;  
    import android.os.Bundle;  
    import android.os.Environment;  
    import android.view.View;  
    import android.view.View.OnClickListener;  
    import android.widget.Button;  
    import android.widget.Toast;  

    public class MainActivity extends Activity implements OnClickListener {  
        private Button installBtn;  
        private Button uninstallBtn;  

        @Override  
        protected void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
            setContentView(R.layout.main);  
            installBtn = (Button) findViewById(R.id.main_btn_install);  
            uninstallBtn = (Button) findViewById(R.id.main_btn_uninstall);  
            installBtn.setOnClickListener(this);  
            uninstallBtn.setOnClickListener(this);  
        }  

        @Override  
        public void onClick(View v) {  
            if (v == installBtn) {  
                install();  
            }  
            if (v == uninstallBtn) {  
                uninstall();  
            }  
        }  

        /** 
         * 安裝應用程序 
         */  
        private void install() {  
            if (!Environment.getExternalStorageState().equals(  
                    Environment.MEDIA_MOUNTED)) {  
                Toast.makeText(this, "請插入SD卡", Toast.LENGTH_SHORT).show();  
                return;  
            }  
            File sdCardDir = Environment.getExternalStorageDirectory();  
            File file = new File(sdCardDir, "Sport.apk");  
            if (!file.exists()) {  
                Toast.makeText(this, "文件未找到", Toast.LENGTH_SHORT).show();  
                return;  
            }  
            Uri uri = Uri.fromFile(file);  
            Intent intent = new Intent(Intent.ACTION_VIEW);  
            intent.setDataAndType(uri, "application/vnd.android.package-archive");  
            startActivity(intent);  
        }  

        /** 
         * 卸載應用程序 
         */  
        private void uninstall() {  
            Uri uri = Uri.parse("package:com.lovo.sport");  
            Intent intent = new Intent(Intent.ACTION_DELETE, uri);  
            startActivity(intent);  
        }  

    }  

布局xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:orientation="vertical" >  

    <Button  
        android:id="@+id/main_btn_install"  
        android:layout_width="match_parent"  
        android:layout_height="wrap_content"  
        android:text="安裝" />  

    <Button  
        android:id="@+id/main_btn_uninstall"  
        android:layout_width="match_parent"  
        android:layout_height="wrap_content"  
        android:text="卸載" />  

</LinearLayout>  
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!