Bonsoir,
je cherche depuis quelques temps une façon de parcourir les packages installés sur un appareil.
Pour cela j'essaye d'utiliser packageManager.getInstalledPackage(0), or après investigation, si j'essaye de le stocker dans une liste PackageInfo j'options l'erreur suivante :
Ci dessous l'activité ou j'effectue cette action :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 08-23 23:03:24.250: E/AndroidRuntime(28431): FATAL EXCEPTION: main 08-23 23:03:24.250: E/AndroidRuntime(28431): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.my.ping.droid/com.example.my.ping.droid.YoutubeList}: java.lang.NullPointerException 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2079) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.app.ActivityThread.startActivityNow(ActivityThread.java:1910) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:682) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.widget.TabHost.setCurrentTab(TabHost.java:346) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:150) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:540) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.view.View.performClick(View.java:3511) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.view.View$PerformClick.run(View.java:14105) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.os.Handler.handleCallback(Handler.java:605) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.os.Handler.dispatchMessage(Handler.java:92) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.os.Looper.loop(Looper.java:137) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.app.ActivityThread.main(ActivityThread.java:4575) 08-23 23:03:24.250: E/AndroidRuntime(28431): at java.lang.reflect.Method.invokeNative(Native Method) 08-23 23:03:24.250: E/AndroidRuntime(28431): at java.lang.reflect.Method.invoke(Method.java:511) 08-23 23:03:24.250: E/AndroidRuntime(28431): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 08-23 23:03:24.250: E/AndroidRuntime(28431): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:556) 08-23 23:03:24.250: E/AndroidRuntime(28431): at dalvik.system.NativeStart.main(Native Method) 08-23 23:03:24.250: E/AndroidRuntime(28431): Caused by: java.lang.NullPointerException 08-23 23:03:24.250: E/AndroidRuntime(28431): at com.example.my.ping.droid.YoutubeList.onCreate(YoutubeList.java:21) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.app.Activity.performCreate(Activity.java:4465) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 08-23 23:03:24.250: E/AndroidRuntime(28431): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2033) 08-23 23:03:24.250: E/AndroidRuntime(28431): ... 18 more
En vous remerciant d'avance de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 package com.example.my.ping.droid; import java.util.List; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.net.Uri; import android.os.Bundle; import android.widget.Toast; public class YoutubeList extends Activity { private PackageManager packageManager; private PackageInfo packs; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.youtubelistlayout); packs = (PackageInfo) packageManager.getInstalledPackages(0); //for(int i=0;i< packs.size();i++) //{ //PackageInfo p = packs.get(i); //if (p.packageName=="com.google.android.youtube") { //Toast.makeText(getApplicationContext(), "Youtube Spotted ", Toast.LENGTH_SHORT).show(); //} //} String playlist_id; playlist_id ="PLF8C3E0E9568955FF"; Uri uri = Uri.parse("http://www.youtube.com/playlist?list=" + playlist_id); Intent i = new Intent(Intent.ACTION_VIEW); i.setData(uri); startActivity(i); } }
Partager