![](/img/trans.png)
[英]How to call one android application from another android application
[英]how to call one application from another in android
我正在做一個應用程序,因此需要從我的應用程序中調用“ com.android.settings.DeviceAdminAdd”。 如何在我的應用中調用此類。 我的代碼是這樣的,但它不起作用
Intent intent = new Intent();
intent.setClassName("com.android.settings", "com.android.settings.DeviceAdminAdd");
startActivity(intent);
提前
代替使用setClassName
使用setComponent
,如下所示
Intent intentDeviceTest = new Intent("android.intent.action.MAIN");
intentDeviceTest.setComponent(new ComponentName("com.intent.service",
"com.intent.service.InentServiceDemoActivity"));
startActivity(intentDeviceTest);
在清單文件中設置DeviceAdminAdd活動屬性export = true。 並調用如下:
Intent intent = new Intent(com.android.settings.this, com.android.settings.DeviceAdminAdd.class);
startActivity(intent);
嘗試...
Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
startActivity(intent);
從文檔...
我已經嘗試過此代碼,並且可以正常工作,它將打開AddAccount Activity
:
Intent intent = new Intent(Settings.ACTION_ADD_ACCOUNT);
startActivity(intent);
問候
請嘗試一下
Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address");
startActivity( LaunchIntent );
改試試這個(注意第一行是不同的):
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("com.android.settings", "com.android.settings.DeviceAdminAdd");
startActivity(intent);
如果由於某種原因它不起作用,另一個(更好)的選擇是使用PackageManager獲得該包的Intent:
PackageManager pm = getPackageManager();
Intent intent = pm.getLaunchIntentForPackage("com.android.settings");
startActivity(intent);
你可以閱讀這段代碼
public class CurrentActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent intent=new Intent(this,TargetActivityName.class);
this.startActivity(intent);
}
}
所有答案都是正確的。 但是, 除非應用程序包名稱是您的應用程序,否則切勿將其作為目標。 如果遵循此模式,這將導致將來的發行版出現問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.