3

次のコードを使用していますが、実行すると「予期せず停止します」

私は以下のように許可を与えました

<uses-permission android:name="android.permission.RESTART_PACKAGES" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.GET_PACKAGE_SIZE" />

このコードの問題点:

import java.util.List;        
import android.app.Activity;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity
{
    public static  String Tag = "Task";
    Context ctx;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        //Intent service = new Intent(this,MyService.class);
        PackageManager pm = getApplicationContext().getPackageManager();
           List<ApplicationInfo> pis = pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);        

        for (ApplicationInfo appinfo : pis) 
        {
            String S1=appinfo.className.toString();
            Log.i(Tag,S1);

        }
    }
}

インストールされているアプリケーションを 1 つずつ取得しようとしています。

4

1 に答える 1

0

の値はappinfo.classNameですnull。これを試して:

for (ApplicationInfo appinfo : pis) 
{
    Log.i(Tag, "" + appinfo.className);
}

ログに多数の null 値が表示されます。

于 2013-04-17T06:49:09.727 に答える