我正在使用以下代码,但是当我运行它时,它“意外停止”
我已经给出了权限,如下所示
<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);
}
}
}
我正在尝试逐个检索已安装的应用程序。
答案 0 :(得分:0)
appinfo.className
的值可以是null
。试试这个:
for (ApplicationInfo appinfo : pis)
{
Log.i(Tag, "" + appinfo.className);
}
你会在日志中看到很多空值。