android package name start app

171 阅读1分钟

step1:

package com.example.myapplicationimport android.content.pm.PackageManager.GET_UNINSTALLED_PACKAGESimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport android.util.Logclass MainActivity : AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)        showPackageInDevice()    }    private fun showPackageInDevice() {        this.packageManager.getInstalledPackages(GET_UNINSTALLED_PACKAGES)            .forEach {                Log.i(                    "APP",                    it.packageName + "\t" + it.versionName + "\t" + it.applicationInfo.name + "\t" + it.applicationInfo.packageName                )            }    }}

step2:

package com.example.myapplication;import android.content.ComponentName;import android.content.Intent;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.content.pm.ResolveInfo;import android.os.Bundle;import android.view.View;import android.widget.Button;import androidx.annotation.Nullable;import androidx.appcompat.app.AppCompatActivity;import java.util.List;public class TextActivity extends AppCompatActivity {    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button btn_tip_calculator = findViewById(R.id.btn);        btn_tip_calculator.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                RunApp("com.tencent.qqmusic");            }        });    }    private void RunApp(String packageName) {        PackageInfo pi;        try {            pi = getPackageManager().getPackageInfo(packageName, 0);            Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);            resolveIntent.setPackage(pi.packageName);            PackageManager pManager = getPackageManager();            List<ResolveInfo> apps = pManager.queryIntentActivities(                    resolveIntent, 0);            ResolveInfo ri = apps.iterator().next();            if (ri != null) {                packageName = ri.activityInfo.packageName;                String className = ri.activityInfo.name;                Intent intent = new Intent(Intent.ACTION_MAIN);                ComponentName cn = new ComponentName(packageName, className);                intent.setComponent(cn);                startActivity(intent);            }        } catch (PackageManager.NameNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

end