加以下代碼:

“`java

private static final int REQUEST_CODE_INSTALL_PERMISSION = 123;

private void requestInstallPermission() {

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

if (!getPackageManager().canRequestPackageInstalls()) {

Uri packageUri = Uri.parse(“package:” + getPackageName());

Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageUri);

startActivityForResult(intent, REQUEST_CODE_INSTALL_PERMISSION);

} else {

// 已經開啟允許安裝未知來源應用的權限

}

}

}

@Override

protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (requestCode == REQUEST_CODE_INSTALL_PERMISSION) {

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

if (getPackageManager().canRequestPackageInstalls()) {

// 用戶已經允許安裝未知來源應用的權限

} else {

// 用戶未允許安裝未知來源應用的權限

}

}

}

}

“`

4. 申請權限后的操作

當用戶在權限申請界面允許了安裝未知來源應用權限后,我們可以在onActivityResult()方法中監聽到,并可以執行相應的操作。

“`java

@Override

protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {

super.onActivityResult(reqeclipse打包的apk損壞uestCode, resultCode, data);

if (requestCode == REQUEST_CODE谷歌瀏覽器生成apk_INSTALL_PERMISSION) {

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

if (getPackageManager().canRequestPackageInstalls()) {

// 用戶已經允許安裝未知來源應用的權限

// 繼續執行應用安裝完成后的操作

} else {

// 用戶未允許安裝未知來源應用的權限

}

}

}

}

“`

5. 應用安裝完成后的操作

你可以在廣播接收器的onReceive()方法中執行應用安裝完成后的操作,比如顯示安裝完成的提示信息或自動啟動應用等。

“`java

public class ApkInstallReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

if (intent.getAction().equals(Intent.ACTION_PACKAGE_ADDED)) {

// 應用安裝完成后的操作

Toast.makeText(context, “應用安裝完成”, Toast.LENGTH_SHORT).show();

}

}

}

“`

通過以上步驟,我們就可以監聽應用安裝完成的事件,并在安裝完成后執行相應的操作。請注意,在Android 8.0及以上版本中需要動態申請權限才能收到安裝廣播。

未經允許不得轉載:亦門 » android開發添加apk 安裝廣播如何操作?

相關推薦