/ / Como abrir uma atividade de um aplicativo dentro de outro aplicativo - android, android-layout, android-intent, android-activity, intentfilter

Como abrir uma atividade de um aplicativo dentro de outro aplicativo - android, android-layout, android-intent, android-atividade, intentfilter

Quero abrir uma atividade de um aplicativo dentro de outro aplicativo por isso estou fazendo

Intent intent = new Intent();

intent.setComponent(new ComponentName("com.android.settings",
"com.android.settings.audiopreferences.SystemAudioSettings"));

context.startActivity(intent);

se eu executar acima, estou obtendo a exceção abaixo

id=1: thread exiting with uncaught exception (group=0x40fac930)
E/AndroidRuntime( 2741): FATAL EXCEPTION: main
E/AndroidRuntime( 2741): java.lang.SecurityException: Permission Denial: starting Intent { cmp=com.android.settings/.audiopreferences.SystemAudioSettings } from ProcessRecord{414c0b58 2741:com.dea600.radioapp/u0a10071} (pid=2741, uid=10071) not exported from uid 1000
E/AndroidRuntime

Respostas:

1 para resposta № 1
android:exported="true"; // Have to include it in the manifest file - activity to be used across multiple applications
Example

<activity
android:name="com.example1.utility.MainActivity"
android:exported="true"
android:label="@string/app_name" />

Using MAinActivity from Another application

Intent intent = new Intent();
intent.setClassName("com.example.utility", "com.example1.utility.MainActivity");
context.startActivity(intent3);

0 para resposta № 2

Você está tentando abrir uma atividade de configurações do sistema. Você terá uma melhor chance de usar a "ação" real para essa atividade. Tentar

context.startActivity(new Intent("android.settings.SOUND_SETTINGS"));

0 para resposta № 3

Tente isso

Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address");
startActivity(LaunchIntent);