2015-08-26 147 views
1

我使用this guide作爲設備所有者激活我的應用程序。所以,我可以激活任務鎖定。這非常接近我希望Android的行爲。啓用任務鎖定時啓動另一個應用程序

是否可以從設備擁有應用程序中啓動一個或多個特定的第三方應用程序並且不關閉任務鎖?

如果沒有,是否可以採取一些解決方法?我正在考慮取消激活任務鎖定,啓動其他應用程序,然後遠程激活另一個應用程序的任務鎖定。

預先感謝您。

回答

1

鎖定的任務只有在其launch flags允許它們啓動到同一任務中時才能啓動第三方活動。如果您嘗試在新任務中啓動活動,它將向logcat發出警告,用戶將看不到任何內容。

AFAIK,沒有通用的方法來鎖定另一個任務。另一項任務必須設計爲鎖定自己以迴應某些意圖。

1

我知道我爲晚會太晚了,但這是我爲了讓它爲我工作。

當你讓你的應用程序作爲設備所有者,你必須調用這個方法:

DevicePolicyManager myDevicePolicyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); 
    // get this app package name 
    ComponentName mDPM = new ComponentName(this, DeviceAdmin.class); 
    Utility.writeLogs(this, getString(R.string.info), "Trying to start lock task..."); 

    if (myDevicePolicyManager.isDeviceOwnerApp(this.getPackageName())) { 
     // get this app package name 
     String[] packages = {this.getPackageName()}; 
     // mDPM is the admin package, and allow the specified packages to lock task 
     myDevicePolicyManager.setLockTaskPackages(mDPM, packages); 
     startLockTask(); 
    } else { 
     Toast.makeText(getApplicationContext(), R.string.not_owner, Toast.LENGTH_LONG).show(); 
    } 

只需添加你要允許從您的應用程序在

String[] packages = {this.getPackageName(), "Package names to be allowed"}; 
打開應用程序的包名

它應該爲你工作。

+0

這不起作用,對它有幫助嗎? –

+0

你可以在這裏分享代碼行嗎? –

相關問題