我试图在MonoDroid中从另一个启动一个单声道应用程序。
以下是试图接收意图的活动
[Activity(ScreenOrientation=ScreenOrientation.Portrait, Theme = "@style/Theme.Splash", MainLauncher = true, NoHistory = true, Icon = "@drawable/icon")]
[IntentFilter(new[] { Intent.ActionView, Intent.CategoryLauncher })]
public class SplashScreenActivity
这是创建应该启动其他应用程序的通知的类。
var notification = new Notification(2130837697,
notificationBodyText,
System.Environment.TickCount);
Intent i = new Intent("android.intent.action.MAIN");
i.SetComponent(ComponentName.UnflattenFromString("com.myapp.wahoo"));
i.AddCategory(Intent.CategoryLauncher);
i.AddFlags(ActivityFlags.NewTask);
PendingIntent contentIntent = PendingIntent.GetActivity(Application.Context, 0, i, 0);
notification.SetLatestEventInfo(Application.Context,
"",
notificationBodyText,
contentIntent);
var nm = (NotificationManager)Application.Context.GetSystemService(Application.NotificationService);
nm.Notify(2131099716, notification);
应用程序选择器出现时没有我的应用程序在那里。我认为我的IntentFilters不正确,但我不确定它们应该是什么?理想情况下,它将是一个自定义过滤器,以便它立即启动。
提前致谢。
答案 0 :(得分:0)
我用下面的意图替换了Intent,它运行良好。
Intent i = Application.Context.PackageManager.GetLaunchIntentForPackage("com.myapp.wahoo");
答案 1 :(得分:0)
Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address");
startActivity(LaunchIntent);
当我在自己创建的两个应用程序之间进行测试时,这对我很有用。一旦我知道软件包名称将始终有效,或者是否有办法阻止某人启动您的应用程序