You can get the app name from the package name via Java:
Test (69)
A1: Java Function [ Return:(PackageManager) pacman Class Or Object:CONTEXT Function:getPackageManager
{PackageManager} () Param: Param: Param: Param: Param: Param: Param: ]
A2: Java Function [ Return:app_info Class Or Object:pacman Function:getApplicationInfo
{ApplicationInfo} (String, int) Param:net.dinglisch.android.taskerm Param:0 Param: Param: Param: Param: Param: ]
A3: Java Function [ Return:%label Class Or Object:app_info Function:loadLabel
{CharSequence} (PackageManager) Param:pacman Param: Param: Param: Param: Param: Param: ]
A4: Flash [ Text:%label Long:Off ]
--
You received this message because you are subscribed to a topic in the Google Groups "Tasker" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/tasker/fAVrfe_OYjw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to tasker+un...@googlegroups.com.
Visit this group at http://groups.google.com/group/tasker.
For more options, visit https://groups.google.com/d/optout.
Sorry, totally misread that. To launch an app using its package name:
Test (69)
A1: Java Function [ Return:(PackageManager) pacman Class Or Object:CONTEXT Function:getPackageManager
{PackageManager} () Param: Param: Param: Param: Param: Param: Param: ]
A2: Java Function [ Return:intent Class Or Object:pacman Function:getLaunchIntentForPackage
{Intent} (String) Param:uk.co.aifactory.chess Param: Param: Param: Param: Param: Param: ]
A3: Java Function [ Return: Class Or Object:CONTEXT Function:startActivity
{} (Intent) Param:intent Param: Param: Param: Param: Param: Param: ]
No root needed :)
If you know the label of the top app, i.e. "Tasker" or "Chess", it can be done. It's bit more complicated than the previous examples:
Test (69)
A1: Variable Set [ Name:%app_name To:Tasker Do Maths:Off Append:Off ]
A2: Variable Set [ Name:%package_name To:Not Found Do Maths:Off Append:Off ]
A3: Java Function [ Return:(PackageManager) pacman Class Or Object:CONTEXT Function:getPackageManager
{PackageManager} () Param: Param: Param: Param: Param: Param: Param: ]
A4: Java Function [ Return:app_list Class Or Object:pacman Function:getInstalledApplications
{List} (int) Param:128 Param: Param: Param: Param: Param: Param: ]
A5: Java Function [ Return:list_iterator Class Or Object:app_list Function:iterator
{Iterator} () Param: Param: Param: Param: Param: Param: Param: ]
A6: Java Function [ Return:%has_next Class Or Object:list_iterator Function:hasNext
{boolean} () Param: Param: Param: Param: Param: Param: Param: ]
<Find>
A7: Goto [ Type:Action Label Number:1 Label:End Find ] If [ %package_name !~ not found | %has_next !~ true ]
A8: Java Function [ Return:(ApplicationInfo) app_info Class Or Object:list_iterator Function:next
{Object} () Param: Param: Param: Param: Param: Param: Param: ]
A9: Java Function [ Return:%label Class Or Object:app_info Function:loadLabel
{CharSequence} (PackageManager) Param:pacman Param: Param: Param: Param: Param: Param: ]
A10: If [ %label ~ %app_name ]
A11: Java Function [ Return:cls Class Or Object:app_info Function:getClass
{Class} () Param: Param: Param: Param: Param: Param: Param: ]
A12: Java Function [ Return:fld Class Or Object:cls Function:getField
{java.lang.reflect.Field} (String) Param:processName Param: Param: Param: Param: Param: Param: ]
A13: Java Function [ Return:%package_name Class Or Object:fld Function:get
{Object} (Object) Param:app_info Param: Param: Param: Param: Param: Param: ]
A14: End If
A15: Goto [ Type:Action Label Number:1 Label:Find ]
<End Find>
A16: Anchor
A17: Flash [ Text:%package_name Long:Off ]
Sorry, there is a bug in that. I should have updated %has_next before the last goto:
Test (69)
A1: Variable Set [ Name:%app_name To:AnalyzeThis Do Maths:Off Append:Off ]
A2: Variable Set [ Name:%package_name To:Not Found Do Maths:Off Append:Off ]
A3: Java Function [ Return:(PackageManager) pacman Class Or Object:CONTEXT Function:getPackageManager
{PackageManager} () Param: Param: Param: Param: Param: Param: Param: ]
A4: Java Function [ Return:app_list Class Or Object:pacman Function:getInstalledApplications
{List} (int) Param:128 Param: Param: Param: Param: Param: Param: ]
A5: Java Function [ Return:list_iterator Class Or Object:app_list Function:iterator
{Iterator} () Param: Param: Param: Param: Param: Param: Param: ]
A6: Java Function [ Return:%has_next Class Or Object:list_iterator Function:hasNext
{boolean} () Param: Param: Param: Param: Param: Param: Param: ]
<Find>
A7: Goto [ Type:Action Label Number:1 Label:End Find ] If [ %package_name !~ not found | %has_next !~ true ]
A8: Java Function [ Return:(ApplicationInfo) app_info Class Or Object:list_iterator Function:next
{Object} () Param: Param: Param: Param: Param: Param: Param: ]
A9: Java Function [ Return:%label Class Or Object:app_info Function:loadLabel
{CharSequence} (PackageManager) Param:pacman Param: Param: Param: Param: Param: Param: ]
A10: If [ %label ~ %app_name ]
A11: Java Function [ Return:cls Class Or Object:app_info Function:getClass
{Class} () Param: Param: Param: Param: Param: Param: Param: ]
A12: Java Function [ Return:fld Class Or Object:cls Function:getField
{java.lang.reflect.Field} (String) Param:processName Param: Param: Param: Param: Param: Param: ]
A13: Java Function [ Return:%package_name Class Or Object:fld Function:get
{Object} (Object) Param:app_info Param: Param: Param: Param: Param: Param: ]
A14: End If
A15: Java Function [ Return:%has_next Class Or Object:list_iterator Function:hasNext
{boolean} () Param: Param: Param: Param: Param: Param: Param: ]
A16: Goto [ Type:Action Label Number:1 Label:Find ]
<End Find>
A17: Anchor
A18: Flash [ Text:%package_name Long:Off ]