2011年12月6日 星期二

getLaunchIntentForPackage return null

1.確定被呼叫的APP有安裝 (getInstalledPackage)
2.確定被呼叫的APP可以正常執行 (MAIN, LAUNCHER有設定)
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
可是....就是回傳null,

結果發現是:
    <data android:scheme="id" />
在作怪, 只要有這一行, 就回傳null, 換句話說, 若是有 data/scheme就不能用getLauncherForPackage,

所以, 就改用 setClass
     Intent intent = new Intent(Intent.ACTION_MAIN);
     intent.setClassName(packageName, activityName);
     intent.setData(Uri.parse("id://"+id));
     startActivity(intent);
搞定

沒有留言:

張貼留言