2012-03-12 67 views
1

我上的應用,在那裏我期運用一個PackageManager使用此代碼導入設備上的所有包名工作:從列表視圖發送意圖另一個活動

protected void onListItemClick(ListView l, View v, int position, long id) { 
    ResolveInfo launchable=adapter.getItem(position); 
    ActivityInfo activity=launchable.activityInfo; 
    ComponentName name=new ComponentName(activity.applicationInfo.packageName, 
             activity.name); 
    Intent i=new Intent(Intent.ACTION_MAIN); 


    i.addCategory(Intent.CATEGORY_LAUNCHER); 
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | 
       Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); 
    i.setComponent(name); 

    startActivity(i);  
} 

此代碼設法開始從應用程序一個ListView。但是我想將應用程序的詳細信息發送給另一個類,從那裏開始,而不是從這個類開始。然後,我希望結果可以保存,但稍後可以通過點擊另一個應用程序進行更改。

有沒有辦法做到這一點?

+0

你能否詳細說明爲什麼開始這樣的活動是不夠的?你爲什麼需要從另一個課程開始呢? – 2012-03-12 15:34:23

+0

我正在製作一個應用程序,在其中創建所選應用程序的快捷方式。 – Magakahn 2012-03-12 15:36:00

+0

此代碼是否啓動其他應用程序?目前還不清楚問題是什麼。 – 2012-03-12 15:41:00

回答

1

如果你只是想從列表中選擇應用程序,並使用單獨的按鈕,點擊怎麼樣存儲activity.applicationInfo.packageName和activity.name到SharedPreferences一旦列表項中選擇啓動它,然後。如果用戶從列表中選擇其他項目,則覆蓋參數的SharedPreferences參數。

單擊開始按鈕時,請閱讀這些參數並啓動應用程序。

+0

你對一個好的教程? – Magakahn 2012-03-17 11:28:30

+0

Sharedpref是什麼? [這裏](http://developer.android.com/guide/topics/data/data-storage.html#pref) – Rohit 2012-03-17 14:45:35

0

如何綁定到服務,發送消息到該服務,服務將啓動活動? 或註冊一個廣播接收機,向該接收機發送一個意圖,請求的應用程序作爲額外的信息,並讓廣播接收機完成這項工作?

+0

我該怎麼做? – Magakahn 2012-03-12 16:03:04

+0

我發現你一個很好的教程:http://www.vogella.de/articles/AndroidServices/article.html – Steelight 2012-03-13 07:28:34

+0

我在做類似的東西在這裏! http://stackoverflow.com/questions/14571564/android-pendingintent-extras-not-received-by-broadcastreceiver/14612215#14612215 – toobsco42 2013-01-31 07:47:25

相關問題